zoukankan      html  css  js  c++  java
  • 101. Symmetric Tree

    题目来源:

    101. Symmetric Tree

     
    自我感觉难度/真实难度:easy
    题意:
     
    分析:
     
    自己的代码:
    class Solution:
        def isSymmetric(self, root: 'TreeNode') -> 'bool':
            res=[]
            self.dsf(root,res)
            return self.check(res)  
            
        def dsf(self,root,res):
            
            if not root:
                return 
            res.append(root.val)
            res.append(self.dsf(root.left,res))
            res.append(self.dsf(root.right,res))
            return res
        
        def check(self,list1):
            n=len(list1)
            i=1
            res=set([])
            while i<n:
                lenght=2**i
                res.add(self.check_sym(list1,lenght))
                i=(2**i)-1
            if len(res)>1:
                return False
            return True
             
        def check_sym(self,lis,n):
            for i in range(int(n/2)):
                if lis[i]!=lis[n-i]:
                    return False
            return True
        

    第一次超时的代码,思维不简洁

    代码效率/结果:
     
    Time Limit Exceeded
    优秀代码:

    代码效率/结果:
     
    自己优化后的代码:
     
    反思改进策略:

    1.解题思路不对,太简单了。没有想到最根本的那个解决思路。    递归也可以在两层树之间进行

    写题时间时长
  • 相关阅读:
    MySQL导出数据库
    Struts2拦截器的应用
    Java JVM
    Http协议状态码
    6.过滤器(Filter)
    5.监听器(Listener)
    4.会话管理(Session)
    3.Servlet(二)
    2.Servlet(一)
    1.搭建JavaEE开发环境
  • 原文地址:https://www.cnblogs.com/captain-dl/p/10353246.html
Copyright © 2011-2022 走看看