LeetCode 热题 HOT 100之二叉树的层次遍历
题目102:给你一个二叉树,请你返回其按 层序遍历 得到的节点值。 (即逐层地,从左到右访问所有节点)。
方案:使用广度优先搜索,用队列存入每一层的节点,计算每一层节点的个数,将每层元素存入到单个数组中,最后再存入到结果数组中。
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
ans = []
if not root:
return []
que = collections.deque()
que.append(root)
while (len(que) != 0):
size = len(que)
temp = []
for i in range(size):
node = que.popleft()
temp.append(node.val)
if node.left:
que.append(node.left)
if node.right:
que.append(node.right)
ans.append(temp)
return ans
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。