leetcode145 二叉樹的後序遍歷

2021-10-01 06:22:37 字數 849 閱讀 4872

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

示例:

輸入:[1

,null,2,

3]1 \

2/3

輸出:[3,

2,1]

高階: 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?

方法一:

思想:

說明:這裡需要標記該節點的右子樹是否訪問,設定pre指向當前節點,curr指向剛剛出棧的節點

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

p=s.

top();

if(!p->right||p-

>right==pre)

else

}return v;}}

;

方法二:

和先序遍歷思想類似:

/**

* definition for a binary tree node.

* struct treenode

* };

*/class

solution

p=s.

top();

s.pop();

}reverse

(v.begin()

,v.end()

);return v;}}

;

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 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?思路 後序遍歷和前序遍歷比較相似,區別在於新增元素的順序有所不同,前序遍歷是向後新增結點元素,後序遍歷是向前新增,所以對比前序遍歷演算法只需要修改一...