LeetCode 590 N叉樹的後序遍歷

2021-10-07 17:29:07 字數 892 閱讀 7458

給定乙個 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...