144 二叉樹的前序遍歷

2022-02-18 08:43:57 字數 438 閱讀 9336

思路:前序遍歷,也就是「根,左,右」的順序去遍歷,遞迴思路簡單,不細說了,把res,結果集合設定成全域性變數就行

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

return res;}}

思路;不遞迴,那就還是設定乙個棧,

從根節點開始,每次迭代彈出當前棧頂元素,並將其孩子節點壓入棧中,先壓右孩子再壓左孩子。此時要保證壓入的不為空(因為棧,先入後出,要想先遍歷左子樹,必須要讓左子節點後乙個被壓入棧)

在這個演算法中,輸出到最終結果的順序按照 根-左,右,符合前序遍歷的順序。

class solution 

return res;}}

LeetCode 144 二叉樹的前序遍歷

1.題目 2.解答 2.1.遞迴法 定義乙個存放樹中資料的向量 data,從根節點開始,如果節點不為空,那麼 definition for a binary tree node.struct treenode class solution vectortemp if root null return...

LeetCode144 二叉樹的前序遍歷

題目描述 給定乙個二叉樹,返回它的前序遍歷。分析 遞迴演算法與非遞迴演算法。在非遞迴的方法中,使用輔助棧stack,右子樹先入棧左子樹 棧,就是根 左 右的順序。definition for a binary tree node.public class treenode 遞迴演算法 class s...

LeetCode 144 二叉樹的前序遍歷

給定乙個二叉樹,返回它的 前序 遍歷。示例 輸入 1,null,2,3 1 2 3 輸出 1,2,3 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?時間複雜度 o n 每個結點只會遍歷一次 空間複雜度 o n 遞迴實際上是要借助棧 definition for a binary tree no...