用兩個棧來實現乙個佇列,完成佇列的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型別。佇列是先進先出,棧是先進後出,如何用兩個棧來實現這種先進先出呢?其實...