LeetCode上第144 號問題:二叉樹的前序遍歷算法
題目
給定一個二叉樹,返回它的 前序 遍歷。markdown
示例:
輸入: [1,null,2,3]app
輸出: [1,2,3]
進階: 遞歸算法很簡單,你能夠經過迭代算法完成嗎?動畫解題思路
用棧(Stack)的思路來處理問題。
前序遍歷的順序爲根-左-右,具體算法爲:url
- 把根節點push到棧中
- 循環檢測棧是否爲空,若不空,則取出棧頂元素,保存其值
- 看其右子節點是否存在,若存在則push到棧中
- 看其左子節點,若存在,則push到棧中。
動畫演示
動畫演示GIF有點大,請稍微等待一下加載顯示^_^
spa
參考代碼
更多內容