劍指offer第五題 用兩個棧實現佇列

2021-09-12 06:30:00 字數 693 閱讀 8137

用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別

class solution

int pop()

res=stack2.top();

stack2.pop();

while(!stack2.empty())

return res;

}private:

stackstack1;

stackstack2;

};

但這裡很奇怪,正常pop函式會返回值的?但是我直接用temp=stack.pop()的時候顯示void與int型別不符合

而且這裡寫的有點複雜了,不需要將stack2中的再返回stack1中去了

class solution

int pop()

}res=stack2.top();

stack2.pop();

return res;

}private:

stackstack1;

stackstack2;

};

這樣寫的話要對stack2進行判斷,如果stack2不為空的時候,說明上次從stack1中push進來的值還沒pop完,就直接在stack2中進行pop就可以了,如果為空再去看stack1中是不是還有值可以push進stack2中

劍指offer第五題 替換空格

思路應該使用指標從後向前替換字串。不過python用不到。class solution s 源字串 def replacespace self,s write code here new s for j in s if j new s new s 20 else new s new s j retu...

《劍指offer》第五題(替換空格)

替換空格 include using namespace std bool replace space char str,const intlength int new length true length 2 count 演算法核心思想,從尾到頭複製 if new length length 要判...

劍指Offer(五) 用兩個棧實現佇列

這個系列是我在牛客網上刷 劍指offer 的刷題筆記,旨在提公升下自己的演算法能力。檢視完整的劍指offer演算法題解析 劍指offer完整習題解析 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。佇列是先進先出,棧是先進後出,如何用兩個棧來實現這種先進先出呢?其實...