用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。
/**
* 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。
*/stackstack1 = new stack();
stackstack2 = new stack();
public void push(int node)
stack1.push(node);
}public int pop()
return stack2.pop();
}
還有乙個保持stack1方法 原理是一樣的
public void push(int node)
public int pop()
int num_pop= stack2.pop();
while (!stack2.empty())
return num_pop;
}
最後奉上草圖一枚 ,價值千金~
草圖
用兩個棧來實現佇列
用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。利用兩個棧都是後進先出的特性,可以實現負負得正的效果。即每次入棧都進入stack1,每次出棧先在stack2出棧,若stack2為空,則將stack1的元素全部出棧,按序入棧stack2,然後stack2出棧乙個元素即...
5 用兩個棧實現佇列
用兩個棧實現佇列 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。劍指offer上解題思路很清晰,看一遍解題思路基本上就可以敲出來了。class solution int pop if stack2.empty int ret stack2.top stack2.p...
5 用兩個棧實現佇列
題目描述 用兩個棧來實現乙個佇列,完成佇列的push和pop操作。佇列中的元素為int型別。時間限制 1秒 空間限制 32768k 看了一下,推薦的方法和我的思路相近。概念 思路 第乙個棧作為儲存資料用的容器,第二個棧在彈出時作為將資料顛倒的容器,倒過來彈出後,再將剩餘的資料壓入第乙個棧。class...