題目描述:
給定乙個二叉樹,返回它的 後序 遍歷。
示例:
輸入: [1,null,2,3]
輸出: [3,2,1]
高階:遞迴演算法很簡單,你可以通過迭代演算法完成嗎?
方法1:
主要思路:
(1)使用先序遍歷的思想,只不過從根,左,右,變成了使用根,右,左的順序壓棧,將最後的結果反序即可;
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution;}
stack
> st;
st.push
(root)
; vector<
int> res;
while
(!st.
empty()
)if(root-
>right)
}reverse
(res.
begin()
,res.
end())
;//最後將結果反序
return res;}}
;
LeetCode 二叉樹的後序遍歷 145
給定乙個二叉樹,返回它的 後序 遍歷。示例 輸入 1,null,2,3 1 2 3 輸出 3,2,1 高階 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?這道題難度和n叉樹的後序遍歷是等同的,但是標註為困難。首先我們都知道,棧頂元素一般都是根元素,彈出根元素,加入根元素的左節點 右節點後,位於棧頂的...
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...