二个栈实现一个队列
?二個棧實現一個隊列
//二個棧實現一個隊列 type CQueue struct {stack1, stack2 *list.List }//初始化 func Constructor() CQueue {return CQueue{stack1: list.New(),stack2: list.New(),} }//尾部插入(出棧) func (this *CQueue) AppendTail(value int) {this.stack1.PushBack(value) }//刪除頭部 func (this *CQueue) DeleteHead() int {// 如果第二個棧為空if this.stack2.Len() == 0 {for this.stack1.Len() > 0 {this.stack2.PushBack(this.stack1.Remove(this.stack1.Back()))}}if this.stack2.Len() != 0 {e := this.stack2.Back()this.stack2.Remove(e)return e.Value.(int)}return -1 }鏈接:https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/solution/mian-shi-ti-09-yong-liang-ge-zhan-shi-xian-dui-l-3/
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結