Так что я делаю вопрос в leetcode. Это реализация стека с использованием очередей. Если я отправлю этот код ниже. Это принято.То же выражение, но другой результат
class Stack {
public:
queue<int> que;
// Push element x onto stack.
void push(int x) {
que.push(x);
for(int i=0;i<que.size()-1;i++){
que.push(que.front());
que.pop();
}
}
// Removes the element on top of the stack.
void pop() {
que.pop();
}
// Get the top element.
int top() {
return que.front();
}
// Return whether the stack is empty.
bool empty() {
return que.empty();
}
};
, но если я только изменить for(int i=0;i<que.size()-1;++i)
к for(int i=0;i<=que.size()-2;i++)
, я получил временное ограничение превышено. Последний выполненный вход: push (1), empty(). Может ли кто-нибудь сказать мне, почему ??? Спасибо
Что произойдет, если 'que.size()' = 1? (подсказка - ничего хорошего) – BoBTFish
они не совпадают с выражением – user463035818
В этом случае он не войдет в цикл, что нужно делать. @ BoBTFish –