Leetcode429n叉樹的層序遍歷

2021-09-25 10:27:43 字數 689 閱讀 8035

我想到n叉樹的層序遍歷是因為我想輸出看看自己寫的trietree對不對,然後發現自己不會寫層序遍歷。果然是過程產生需求啊。

n叉樹就不贅述了,直接上**。

class

solution

size--;if

(size==0)

}return res;

}}

這裡面用list儲存了每一層的資料。size的大小意味著這層葉節點是否全部遍歷過,如果size=0,那麼就說明該遍歷下一層了,同時把list清空,方便下一層重新存入資料。

n層遍歷和二叉樹n層遍歷類似,都是用佇列儲存資料。

二叉樹層序遍歷原理:

拿二叉樹舉例,

第一步,節點1入隊

queue:1

第二步,節點1的孩子入隊,同時1出隊

queue:2 3

第三步,2出隊,2的孩子4 5入隊

queue:3 4 5

第四步,3出隊,3的孩子6入隊

queue:4 5 6

第五步,4出隊,4沒有孩子能入隊

queue:5 6

第五步,5出隊,與第四步同理

queue:6

最後,6出隊,隊列為空

leetcode 429 N叉樹的層序遍歷

給定乙個 n 叉樹,返回其節點值的層序遍歷。即從左到右,逐層遍歷 例如,給定乙個3叉樹 返回其層序遍歷 1 3,2,4 5,6 說明 樹的深度不會超過1000。樹的節點總數不會超過5000。遞迴實現 definition for a node.class node public node int v...

leetcode 429 N叉樹的層序遍歷

題目 給定乙個 n 叉樹,返回其節點值的層序遍歷。即從左到右,逐層遍歷 n叉樹定義 class node public node int val,list children 首先對n叉樹進行dfs,獲得其最大深度,建立含有對應元素個數的list,再遍歷整棵樹,將值加入對應層次。class solut...

LeetCode 429 N 叉樹的層序遍歷

difficulty 中等 給定乙個 n 叉樹,返回其節點值的 層序遍歷 即從左到右,逐層遍歷 樹的序列化輸入是用層序遍歷,每組子節點都由 null 值分隔 參見示例 示例 1 輸入 root 1,null,3,2,4,null,5,6 輸出 1 3,2,4 5,6 示例 2 輸入 root 1,n...