层序遍历递归Python版本
简单思路描写
class Solution: # 返回二维列表[[1,2],[4,5]] def Print(self, pRoot): # write code here #边界条件判定 if not pRoot :return [] #准备两个数组 #queue用来存储当前层的节点 #temp存储下一层的节点 queue = [] temp = [] #准备一个数组用来做容器装每层结果 result = [] queue.append(pRoot) #准备计数器做层数计数 count = 0 #遍历所有节点即只要queue为空,就意味着遍历完了整棵树 while queue: res = [] #每次需要清空下一层节点容器,以便容纳下下层节点 temp = [] for node in queue: res.append(node.val) if node.left:temp.append(node.left) if node.right:temp.append(node.right) #当当前层统计完毕,需要开始下一层节点数据时,将temp覆盖queue queue = temp count += 1 result.append(res) return result