N叉樹的遍歷

2021-10-25 16:04:03 字數 721 閱讀 5457

class node 

public node(int _val)

public node(int _val, list _children)

} public list preorder(node root)

public void dfs(node root, list res)

}}

public class bfsntree 

public node(int _val)

public node(int _val, list _children)

} public list> levelorder(node root)

linkedlist queue = new linkedlist<

>()

; queue.offer(root)

; int num = queue.size();

list list = new arraylist<

>()

; while(

!queue.isempty(

))if

(num == 0)

}return res;

}

合理使用遞迴,樹的遍歷使用遞迴方式更加簡潔

bfs注意需要新開闢空間進行每層資料的儲存,注意處理每層結束的標識位

N叉樹的前序遍歷

題目 n叉樹的前序遍歷 力扣 589 給定乙個 n 叉樹,返回其節點值的前序遍歷。分析兩種方式實現 遞迴 遞迴非常簡單即可實現。優先輸出當前節點,然後遍歷孩子節點,最後返回結果即可。迭代 通過棧來輔助實現,先將當前點入棧,當棧不為空時,優先將節點值新增到結果中 然後遍歷當前節點的孩子節點,這裡需要注...

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 說明 遞迴法很簡單,你可以...