leetcode 145 二叉樹的後續遍歷

2021-10-12 01:35:25 字數 416 閱讀 3244

給定乙個二叉樹,返回它的 後序 遍歷。

解法二:非遞迴形式

採用兩個棧實現後續遍歷的過程,具體流程如下:

1、申請乙個棧,記為sck1,將頭節點壓入棧sck1中。

2、從sck1中彈出的節點記為tmpnode,然後依次將tmpnode的左孩子和右孩子節點壓入sck1中。

3、在整個過程中,每次從sck1中pop出的節點都放入sck2中。

4、不斷重複步驟2和步驟3,直到sck1為空,過程停止。

5、從sck2中依次彈出節點並儲存,其結果就是後續遍歷的結果。

class

solution

while

(!sck2.

empty()

)return result;}}

;

LeetCode 145 二叉樹的後序遍歷

題目 給定乙個二叉樹,返回它的 後序 遍歷。示例 輸入 1,null,2,3 1 2 3輸出 3,2,1 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?思路 等同於144題來思考,但是棧的操作要做些許的變化。根據後序遍歷的 左右中 順序,中間節點應當先入棧,然後考慮中間節點是否包含的子節點,如...

LeetCode 145 二叉樹的後序遍歷

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

leetcode145 二叉樹的後序遍歷

給定乙個二叉樹,返回它的 後序 遍歷。示例 輸入 1 null,2,3 1 2 3 輸出 3,2,1 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?方法一 思想 說明 這裡需要標記該節點的右子樹是否訪問,設定pre指向當前節點,curr指向剛剛出棧的節點 definition for a bi...