給定乙個二叉樹,返回它的 後序 遍歷。
示例:
輸入: [1,null,2,3] 1\高階: 遞迴演算法很簡單,你可以通過迭代演算法完成嗎?2/
3 輸出: [3,2,1]
這道題難度和n叉樹的後序遍歷是等同的,但是標註為困難。
首先我們都知道,棧頂元素一般都是根元素,彈出根元素,加入根元素的左節點、右節點後,位於棧頂的是根元素的最右子節點,棧低的是根元素的最左子節點。
如果我們按照這個順序列印的話,輸出的是[1,2,3]。如果我們把這個結果反轉後就是[3,2,1]就是結果。
/*** definition for a binary tree node.
* public class treenode
* }*/class solution
collections.reverse(ans);
return ans ;
}}
leetcode筆記 145 二叉樹的後序遍歷
題目 給定乙個二叉樹,返回它的 後序 遍歷 1 遞迴寫法 class solution 2 迭 法 class solution else return res 3 這種思路和劍指32題中的思路是一樣的,只不過最後反轉鍊錶的做法不一樣。同樣是使用棧,新增節點時把後序當作 根 右 左,然後再反轉一下即...
leetcode練習 145 二叉樹的後序遍歷
給定乙個二叉樹,返回它的 後序 遍歷。示例 輸入 1,null,2,3 12 3輸出 3,2,1 二叉樹的後序遍歷有個很奇怪的特點,就是通過對二叉樹使用棧進行層序遍歷,可以恰好得到乙個後序遍歷的結果。class solution if t right reverse res.begin res.en...
建立二叉樹 後序建立二叉樹
由後序遍歷可知,輸入順序是左結點 右結點 子樹根結點 比如輸入如下樹 ab cde 輸入序列為 e d b c a 思路 使用棧,對左結點和右結點進行壓棧 1.當輸入遇到非 且棧中元素大於等於2,則可以確定乙個小三角樹形,並將這個樹根作為下乙個小三角樹形的乙個子節點 2.當輸入遇到非 但棧中元素小於...