标签:列操作 题目 strong 队列 使用 temp init 来源 deque
https://leetcode.com/problems/n-ary-tree-level-order-traversal/
队列操作不熟悉
层序遍历树
""" # Definition for a Node. class Node(object): def __init__(self, val, children): self.val = val self.children = children """ class Solution(object): def levelOrder(self, root): """ :type root: Node :rtype: List[List[int]] """ if not root: return [] res=[] temp=[] for i,j in enumerate(root): res.append([i]) temp.push(j) levelOrder(temp) return res
""" # Definition for a Node. class Node(object): def __init__(self, val, children): self.val = val self.children = children """ class Solution(object): def levelOrder(self, root): """ :type root: Node :rtype: List[List[int]] """ res = [] que = collections.deque() que.append(root) while que: level = [] size = len(que) for _ in range(size): node = que.popleft() if not node: continue level.append(node.val) for child in node.children: que.append(child) if level: res.append(level) return res
""" # Definition for a Node. class Node(object): def __init__(self, val, children): self.val = val self.children = children """ class Solution(object): def levelOrder(self, root): """ :type root: Node :rtype: List[List[int]] """ if not root: return [] res=[] que=collections.deque() que.append(root) while que: temp=[] #每次要使用的临时变量 size=len(que) #队列的循环通过size来实现 for _ in range(size): node=que.pop() if not node: continue temp.append(node.val) for child in node.children: que.append(child) if temp: res.append(temp) return res
1.对队列的操作不熟悉
que=collections.deque() #队列的构造
while que:
temp=[] #每次要使用的临时变量
size=len(que) #队列的循环通过size来实现
for _ in range(size):
node=que.pop() #通过弹出前面的元素来实现, 队列长这个样子:que(),里面放一个长的list
2.
LeetCode429. N-ary Tree Level Order Traversal
标签:列操作 题目 strong 队列 使用 temp init 来源 deque
原文地址:https://www.cnblogs.com/captain-dl/p/10176342.html