就是BFS,同时把每层的值作为列表保存
# DeFinition for a binary tree node.# class TreeNode:# def __init__(self, val=0, left=None, right=None):# self.val = val# self.left = left# self.right = rightclass Solution: def levelOrder(self, root: TreeNode) -> List[List[int]]: result = List() layer = List() layer_val = List() size = 0 if not root: return [] layer_val.append(root.val) result.append(layer_val) layer.append(root) while layer: size = len(layer) layer_val = List() while size > 0: temp = layer[0] if temp.left: layer.append(temp.left) layer_val.append(temp.left.val) if temp.right: layer.append(temp.right) layer_val.append(temp.right.val) size -= 1 del layer[0] if layer_val == []: return result result.append(layer_val) return result
总结
以上是内存溢出为你收集整理的leetcode-python-二叉树的层序遍历全部内容,希望文章能够帮你解决leetcode-python-二叉树的层序遍历所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)