zoukankan      html  css  js  c++  java
  • 【leetcode❤python】102. Binary Tree Level Order Traversal

    #-*- coding: UTF-8 -*-
    #广度优先遍历
    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None

    class Solution(object):
        tmplist1=[]
        
        def dfsDepth(self,root):
            if root==None:return 0
            leftDepth=self.dfsDepth(root.left)
            rightDepth=self.dfsDepth(root.right)
            
            return leftDepth+1 if leftDepth >rightDepth else (rightDepth+1)
            
        def levelOrder(self, root):
            """
            :type root: TreeNode
            :rtype: List[List[int]]
            """
            
            self.tmplist1=[]
            
            depth=self.dfsDepth(root)
            
            result=[]
            for level in xrange(0,depth):
                self.getlevel(root,level)
                result.append(self.tmplist1)
                self.tmplist1=[]
            
            return result
        
        
        def getlevel(self,root,level):
            if root==None:return
            if level==0:
                self.tmplist1.append(root.val)
            
            else:
                self.getlevel(root.left,level-1)
                self.getlevel(root.right,level-1)

  • 相关阅读:
    苦逼也聊模式--(0)--开篇
    发现无力吐槽
    JS函数调用
    初步使用nodejs(一)
    测试一下
    达摩流浪者
    Revit:二开使用Sqlite保存本地数据,并配合EF6等ORM框架
    Revity:查找并修改类型参数和实例参数
    复习一下UML
    Revit:ElementFilter过滤器基类
  • 原文地址:https://www.cnblogs.com/kwangeline/p/5953468.html
Copyright © 2011-2022 走看看