給定乙個 n 叉樹,返回其節點值的後序遍歷。
比如給定乙個節點u,其子節點v1,v2,v3, 那麼他的後序遍歷順序為[v1的子節點,v1,v2的子節點,v2,v3的子節點,v3,u]
這樣的遍歷順序為[u,v3,v3的子節點,v2,v2的子節點,v1,v1的子節點]
遍歷順序相反一些,就是其後序遍歷順序
class
solution
stack.
add(root)
;while
(!stack.
isempty()
)}return res;
}}
時間複雜度:o(k),其中 k是 n 叉樹中的節點個數。每個節點只會入棧和出棧各一次。
空間複雜度:o(k)。在最壞的情況下,這棵 n 叉樹只有 2 層,所有第 2 層的節點都是根節點的孩子。將根節點推出棧後,需要將這些節點都放入棧,共有 k−1 個節點,因此棧的大小為 o(k)。
class
solution
public
void
helper
(node node, linkedlist
res)
for(node temp : node.children)
res.
add(node.val);}
}
list
res =
newlinkedlist
<
>()
;res.addfirst 這個方法找不到,res物件的類 需要為 linkedlist
,才能使用這個方法
leetcode 590 N叉樹的後序遍歷
給定乙個 n 叉樹,返回其節點值的後序遍歷。例如,給定乙個3叉樹 返回其後序遍歷 5,6,3,2,4,1 思路 類似於二叉樹的後序遍歷,利用遞迴實現。definition for a node.class node public node int val,list children class so...
leetcode 590 N叉樹的後序遍歷
給定乙個 n 叉樹,返回其節點值的後序遍歷。例如,給定乙個 3叉樹 返回其後序遍歷 5,6,3,2,4,1 說明 遞迴法很簡單,你可以使用迭代法完成此題嗎?definition for a node.class node public node int val public node int val...
590 N叉樹的後序遍歷
給定乙個n叉樹,返回其節點值的後序遍歷。例如,給定乙個 3叉樹 返回其後序遍歷 5,6,3,2,4,1 說明 遞迴法很簡單,你可以使用迭代法完成此題嗎?遞迴法 分析 用乙個函式遍歷並存資料到陣列。definition for a node.class node node int val,vector...