【leetCode】Binary Tree Level Order Traversal python实现

来源:互联网 发布:淘宝待评价怎么消除 编辑:程序博客网 时间:2024/06/07 19:23

Binary Tree Level Order Traversal

原题链接

Binary Tree Level Order Traversal


实现原理解析

层次遍历即可

python代码实现

class Solution(object):    def __init__(self):        self.result = []    def levelOrder(self, root):        """        :type root: TreeNode        :rtype: List[List[int]]        """        if root is None:            return []        else:            rootLevel =[root]            self.result.append(rootLevel)            self.levelSearch(rootLevel)        ret = []        for eachLevel in self.result:            ret.append([each.val for each in eachLevel])        return ret    def levelSearch(self, upLevelNodes):        """        :param upLevelNodes:        :return:        """        ret = []        if len(upLevelNodes) == 0:            self.result.pop()            return        for eachNode in upLevelNodes:            if eachNode.left is not None:                ret.append(eachNode.left)            if eachNode.right is not None:                ret.append(eachNode.right)        if len(ret) == 0:            return        self.result.append(ret)        self.levelSearch(ret)
1 0
原创粉丝点击