劍指offer JS版本 05 用兩個棧實現佇列

2021-10-04 06:23:14 字數 431 閱讀 9797

題目描述:

用兩個棧來實現乙個佇列,完成佇列的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...