劍指 Offer 09. 用兩個棧實現佇列 關於stack的top與pop
阿新 • • 發佈:2021-01-03
【21年 劍指offer】劍指 Offer 09. 用兩個棧實現佇列
思路較為簡單,不詳細贅述
關於stack的top與pop
stack s1
// 刪除棧頂元素 無返回值
s1.pop();
// 返回棧頂元素
int t1 = s1.top();
class CQueue {
stack<int>s1,s2;
int size;
public:
CQueue() {
while( !s1.empty() )
s1.pop();
while ( !s2.empty() )
s2.pop();
size = 0;
}
void appendTail(int value) {
s1.push( value );
size++;
}
int deleteHead() {
if( size == 0)
return -1;
if( s2.empty() ){
while( !s1.empty() ){
s2. push( s1.top() );
s1.pop();
}
}
int temp = s2.top();
s2.pop();
size--;
return temp;
}
};