動畫演示二叉樹的前序遍歷

LeetCode上第144 號問題:二叉樹的前序遍歷算法

題目

給定一個二叉樹,返回它的 前序 遍歷。markdown

示例:

輸入: [1,null,2,3]app


輸出: [1,2,3]
進階: 遞歸算法很簡單,你能夠經過迭代算法完成嗎?動畫

解題思路

棧(Stack)的思路來處理問題。
前序遍歷的順序爲根-左-右,具體算法爲:url

  • 把根節點push到棧中
  • 循環檢測棧是否爲空,若不空,則取出棧頂元素,保存其值
  • 看其右子節點是否存在,若存在則push到棧中
  • 看其左子節點,若存在,則push到棧中。

動畫演示

動畫演示GIF有點大,請稍微等待一下加載顯示^_^
動畫演示spa

參考代碼

參考代碼

更多內容

相關文章
相關標籤/搜索