标签:etc [1] set pop roo images 结果 span pen
问题描述:
给定一个N叉树,返回其节点值的层序遍历。 (即从左到右,逐层遍历)。
例如,给定一个 3叉树
:
返回其层序遍历:
[ [1], [3,2,4], [5,6] ]
说明:
1000
。5000
。方法1:
1 class Solution(object): 2 def levelOrder(self, root): 3 """ 4 :type root: Node 5 :rtype: List[List[int]] 6 """ 7 if not root: 8 return [] 9 res = [[]] 10 que = [(root,0)] 11 while que: 12 node,level = que.pop(0) 13 if level >= len(res): 14 res.append([]) 15 res[level].append(node.val) 16 for child in node.children: 17 que.append((child,level + 1)) 18 return res
方法2:
1 class Solution(object): 2 def levelOrder(self, root): 3 """ 4 :type root: Node 5 :rtype: List[List[int]] 6 """ 7 if not root: 8 return [] 9 levels = []#结果存放 10 q = [root] 11 while q: 12 new_q = []#当前层的结点 13 level=[]#当前层的结点的val 14 for node in q: 15 level.append(node.val) 16 for child in node.children: 17 new_q.append(child) 18 levels.append(level)#把当前层的val加入到结果集中 19 q = new_q 20 return levels
2018-10-02 09:14:56
标签:etc [1] set pop roo images 结果 span pen
原文地址:https://www.cnblogs.com/NPC-assange/p/9736334.html