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)

  • 相关阅读:
    跨平台这件事儿
    BTrace : Java 线上问题排查神器
    Spring 实现自定义 bean 的扩展
    运用计划缓冲的建议
    查询计划Hash和查询Hash
    执行计划的重用
    执行计划组件、组件、老化
    执行计划的生成
    SQL Server索引 (原理、存储)聚集索引、非聚集索引、堆 <第一篇>
    SQL Server执行计划的理解
  • 原文地址:https://www.cnblogs.com/kwangeline/p/5953468.html
Copyright © 2011-2022 走看看