• 用两个栈实现队列


    左思右想不会呀,结果嘞 看了答案焕然大悟。下面这个代码是错误的的   请问哪里错误了

     1 class Solution
     2 {
     3 public:
     4     void push(int node) {
     5         stack1.push(node);
     6     }
     7 
     8     int pop() {
     9         int a ;
    10         if(stack2.empty() == true){
    11             while(stack1.empty() != true){
    12                 a = stack1.top();
    13                 stack2.push(a);
    14                 stack1.pop();
    15             }
    16         }
    17         return stack2.top();
    18         stack2.pop();
    19     }
    20 
    21 private:
    22     stack<int> stack1;
    23     stack<int> stack2;
    24 };

     正确的:

     1 class Solution
     2 {
     3 public:
     4     void push(int node) {
     5         stack1.push(node);
     6     }
     7 
     8     int pop() {
     9         int a ;
    10         if(stack2.empty() == true){
    11             while(stack1.empty() != true){
    12                 a = stack1.top();
    13                 stack2.push(a);
    14                 stack1.pop();
    15             }
    16         }
    17         a =  stack2.top();
    18         stack2.pop();
    19         return a ;
    20     }
    21 
    22 private:
    23     stack<int> stack1;
    24     stack<int> stack2;
    25 };

    return 这个要小心  ,return完了之后,下面的不会执行的了

    python:

     1 # -*- coding:utf-8 -*-
     2 class Solution:
     3     def __init__(self):
     4         self.s1 = []
     5         self.s2 = []
     6     def push(self, node):
     7         # write code here
     8         self.s1.append(node);
     9     def pop(self):
    10         # return xx
    11         if( self.s2 ==[]):
    12             while self.s1:
    13                 a = self.s1[-1]
    14                 self.s2.append(a)
    15                 self.s1.pop()
    16         return self.s2.pop() 
  • 相关阅读:
    Javaweb初试——选课系统
    Java四则运算第二次课堂完整版
    Java动手动脑03
    阅读笔记
    Java四则运算课堂测试三
    读书笔记
    Java日报10.14
    Java日报10.13
    Java动手动脑04
    2020.9.22测试
  • 原文地址:https://www.cnblogs.com/xiaochige/p/8074830.html
Copyright © 2020-2023  润新知