- 常规层次遍历:
输出整个列表比如[1,2,3,4,5]这种
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, x):
# self.val = x
# self.left = None
# self.right = None
class Solution:
def levelOrder(self, root: TreeNode) -> List[List[int]]:
result = []
queue = []
if not root:
return []
queue.append(root)
while queue:
temp = queue.pop(0)
result.append(temp.val)
if temp.left:
queue.append(temp.left)
if temp.right:
queue.append(temp.right)
return result
- 要分层输出的层次遍历:
输出整个列表比如[[1],[2,3],[4,5]]这种每层都要单独在一个list里面
加个循环,循环完一轮就是树的每一层在pop,下一层在push,因为每一次循环都是某一层的一个结点pop并且下一个结点push,而循环次数就等于这层结点的pop的次数。
划重点:没法完全理解也要当作模板记住哦ÿ