关于牛客网《剑指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++工程师#
全部评论
那走到if里不就没返回了吗
点赞 回复 分享
发布于 2017-08-19 11:26

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务