題目描述:
用兩個棧來實現乙個佇列,完成佇列的push和pop操作。 佇列中的元素為int型別。
思路:定義兩個棧,我們知道佇列是後進先出的特點,當有兩個棧時,用棧1負責push,假如進棧序列是,那麼棧1裡,2就是棧頂,1是棧底,再把棧1的元素放入棧2中,此時棧2中的序列則變成了1是棧頂,2是棧底,此時呼叫push方法,則2先出來,則實現了佇列後進先出的特點
注意:在棧2有元素的時候,不允許棧1把元素再往棧2裡放,這樣會打亂序列。
**:
var stack1 =
, stack2 =
;function
push
(node)
function
pop()}
return stack2.
pop();
}
劍指offer js編寫 樹
1 輸入兩棵二叉樹a,b,判斷b是不是a的子結構。ps 我們約定空樹不是任意乙個樹的子結構 思路 首先找到a中結點的值與b相等的結點,然後從這兩個相同的結點出發,判斷是否存在重合,若是返回true。否則,在樹a的左右子樹中尋找與b結點值相同的結點,以這些結點出發遞迴判斷是否是a的子樹。functio...
劍指offer js實現剪繩子
題目 給你一根長度為n的繩子,請剪成m段n 1,m 1,使剩下的繩子乘積為最大值.例 8 2 3 3 18 思路 動態規劃,比如8,第一次切割可以分成8 1種切法,將最優解儲存起來。let n 8 function cut if res n return res n let max 0 for le...
劍指offer js 其中10題
11.進製位運算 輸入乙個整數,輸出該數二進位制表示中1的個數。其中負數用補碼表示。function numberof1 n return count 12.正負數迴圈 給定乙個double型別的浮點數base和int型別的整數exponent。求base的exponent次方。保證base和exp...