LeetCode 429 N 叉樹的層序遍歷

2022-03-26 04:27:24 字數 1273 閱讀 3646

difficulty:中等

給定乙個 n 叉樹,返回其節點值的_層序遍歷_。(即從左到右,逐層遍歷)。

樹的序列化輸入是用層序遍歷,每組子節點都由 null 值分隔(參見示例)。

示例 1:

輸入:root = [1,null,3,2,4,null,5,6]

輸出:[[1],[3,2,4],[5,6]]

示例 2:

輸入:root = [1,null,2,3,4,5,null,null,6,7,null,8,null,9,10,null,null,11,null,12,null,13,null,null,14]

輸出:[[1],[2,3,4,5],[6,7,8,9,10],[11,12,13],[14]]

solution

language: ****

解法跟二叉樹的層序遍歷一樣:bfs+queue,只是需要注意node.children返回的是乙個list

"""

# definition for a node.

class node:

def __init__(self, val=none, children=none):

self.val = val

self.children = children

"""​

class solution:

def levelorder(self, root: 'node') -> list[list[int]]:

if not root:

return

queue, res = [root],

while queue:

curlevel, size = , len(queue)

for i in range(size):

node = queue.pop(0)

for child in node.children:

return res

leetcode 429 N叉樹的層序遍歷

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

Leetcode429n叉樹的層序遍歷

我想到n叉樹的層序遍歷是因為我想輸出看看自己寫的trietree對不對,然後發現自己不會寫層序遍歷。果然是過程產生需求啊。n叉樹就不贅述了,直接上 class solution size if size 0 return res 這裡面用list儲存了每一層的資料。size的大小意味著這層葉節點是否...

leetcode 429 N叉樹的層序遍歷

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