習題主要選自Orelly出版的《數據結構與算法javascript描述》一書。javascript
參考代碼可見:https://github.com/dashnowords/blogs/tree/master/Structure/Stack前端
Stack
類,並在後續題目中須要用棧時使用它。unitTrans(num, unit)
,num
爲一個10進制數字,unit
要轉換的進制數,求轉換結果。recursion(num)
,num
爲一個10進制數字,要求輸出num!
的結果。palindrome(str)
,str
是一個字符串,若是它是一個迴文字符串,則返回true
,不然返回false
。{}
,()
,[]
三種括號,編寫一個函數,接受一個算數表達式做爲參數,若是括號徹底匹配則返回true
,不然返回括號缺失的位置。操做數
和操做符
分別壓入兩個棧中,接着先從操做數棧中彈出第一個元素,在輪流從操做數棧和操做符棧中彈出元素直至棧爲空便可。若是從前到後解析,則棧頂的是最後的元素,出棧時考慮到順序便可。