二叉树 04. 层序遍历 BFS
题目:给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点) 中等
层序遍历其实就是广度优先搜索 BFS
如:[1,2,3,4,5,6] >> [[1],[2,3],[4,5],[6]]
方法:队列 时间复杂度O(N) 空间复杂度O(N)
def levelOrder(root): """ :type root: TreeNode :rtype: List[List[int]] """ if root is None: return [] queue = [] queue.append(root) list1 = [] while queue != []: size = len(queue) sub_list = [] for i in range(size): cur = queue.pop(0) sub_list.append(cur.val) if cur.left: queue.append(cur.left) if cur.right: queue.append(cur.right) list1.append(sub_list) return list1

浙公网安备 33010602011771号