N叉樹的前序遍歷

2021-10-07 13:22:21 字數 636 閱讀 2324

題目

n叉樹的前序遍歷(力扣:589)

給定乙個 n 叉樹,返回其節點值的前序遍歷。

分析兩種方式實現:

遞迴:遞迴非常簡單即可實現。優先輸出當前節點,然後遍歷孩子節點,最後返回結果即可。

迭代:通過棧來輔助實現,先將當前點入棧,當棧不為空時,優先將節點值新增到結果中;然後遍歷當前節點的孩子節點,這裡需要注意,遍歷順序必須從後往前;遍歷完成即可得到結果。

**實現:方法一

/**

* 589. n叉樹的前序遍歷

*/listprelist = new arraylist<>();

public listpreorder(node root)

prelist.add(root.val);

for(int i=0;i**實現:方法二/**

* 589. n叉樹的前序遍歷

*/public listpreorder2(node root)

stackstack = new stack<>();

stack.push(root);

node tmp;

while (!stack.isempty())

}return prelist;

}

N 叉樹的前序遍歷

給定乙個 n 叉樹,返回其節點值的前序遍歷 n 叉樹 在輸入中按層序遍歷進行序列化表示,每組子節點由空值null分隔 請參見示例 示例1 輸入 root 1,null,3,2,4,null,5,6 輸出 1,3,5,6,2,4 示例2 輸入 root 1,null,2,3,4,5,null,null...

多叉樹的前序遍歷 589 N叉樹的前序遍歷

給定乙個 n 叉樹,返回其節點值的前序遍歷。n叉樹的定義如下 class node node int val,vector children val val children children 例如給定乙個 3叉樹 3 2 4 5 6返回其前序遍歷 1,3,5,6,2,4 說明 遞迴法很簡單,你可以...

589 N叉樹的前序遍歷

遞迴法 if root none return res for leaf in root.children res self.preorder leaf return root.val res 此處加法先後順序決定了是進行先序還是後序 迭代法 if root none return queue re...