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