关于牛客网《剑指offer》之五--两个栈实现一个队列的疑问
class Solution { public: void push(int node) { stack1.push(node); //使用第一个栈来push } int pop() { if(stack2.size() <= 0){ //如果第二个栈为空的话 while(stack1.size() > 0){ int data = stack1.top(); stack1.pop(); //数据从stack1弹出 stack2.push(data);//并将数据压入stack2中 } } //else{ 否则第二站不为空 int head = stack2.top(); stack2.pop(); return head; //} } private: stack<int> stack1; stack<int> stack2; };以上为被AC的代码,但是实现POP函数的时候,if后一句不能使用else(即被注释的部分)。逻辑上不能说通吗?哪里出了问题呢?#C++工程师#