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)

  • 相关阅读:
    AVL树的旋转操作详解
    KMP算法的优化与详解
    手机号码等的正则验证
    Josephus问题的java实现
    Match类解析
    this的相关介绍与用法
    Iterator——迭代接口
    final对于访问效率的影响
    final关键字介绍
    JAVA事件监听机制与实现
  • 原文地址:https://www.cnblogs.com/kwangeline/p/5953468.html
Copyright © 2011-2022 走看看