で練習するとき、私はいくつかの奇妙なエラーに会いました。 私の解決策は以下の通りです:私はキュー、<a href="https://leetcode.com/problems/implement-queue-using-stacks/description/" rel="nofollow noreferrer">Description</a>を実装するためにスタックを使用しようとLeetCode
class MyQueue {
public:
/** Initialize your data structure here. */
stack<int> my_stack;
MyQueue() {
}
/** Push element x to the back of queue. */
void push(int x) {
stack<int> my_new_stack;
my_new_stack.push(x);
for(int i = 0; i < my_stack.size();i++){
my_new_stack.push(my_stack.top());
my_stack.pop();
}
for(int i = 0; i< my_new_stack.size();i++){
my_stack.push(my_new_stack.top());
my_new_stack.pop();
}
}
/** Removes the element from in front of queue and returns that element. */
int pop() { // what about queue is empty
int temp = my_stack.top();
my_stack.pop();
return temp;
}
/** Get the front element. */
int peek() {
return my_stack.top();
}
/** Returns whether the queue is empty. */
bool empty() {
return my_stack.empty();
;
}
};
/**
* Your MyQueue object will be instantiated and called as such:
* MyQueue obj = new MyQueue();
* obj.push(x);
* int param_2 = obj.pop();
* int param_3 = obj.peek();
* bool param_4 = obj.empty();
*/
結果は、私はそれは知っている [null,true,null,null,null,1,0,80]
真の結果が [null,true,null,null,null,1,2,3]
である一方、私のテストケースが
["MyQueue","empty","push","push","push","pop","pop","pop"]
[[],[],[1],[2],[3],[],[],[]]
です私は効率的ではないが、私は実際にどこから0
と80
が分からないのでしょうか?
は一種の助けをありがとう
Eric Lippertの[小さなプログラムのデバッグ方法](https://ericlippert.com/2014/03/05/how-to-debug-small-programs/)を読んで、デバッガの使い方そして私たちの助けが必要な場合は、あなたに[良い質問をする方法を読む](http://stackoverflow.com/help/how-to-ask)を提案し、[最小、完全、および検証可能]例](http://stackoverflow.com/help/mcve)。 –