题解 | #求二叉树的层序遍历#
求二叉树的层序遍历
http://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3
class TreeNode:
def init(self, x):
self.val = x
self.left = None
self.right = None
@param root TreeNode类
@return int整型二维数组
class Solution: def levelOrder(self , root ): # write code here # 根节点为空时 if root is None: return [] res = [] pt = [root] #pr用来存放pt的下一层子节点 pr = [] #若pt为空列表时,结束 while len(pt) != 0: #a用来存放每一层结果 a = [] for i in pt: a.append(i.val) #若存在左子节点 if i.left is not None: pr.append(i.left) #若存在右子节点 if i.right is not None: pr.append(i.right) #pr传递给pr pt = pr #初始化pr为空列表 pr = [] res.append(a) return res