101. Symmetric Tree

Posted captain-dl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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.解题思路不对,太简单了。没有想到最根本的那个解决思路。    递归也可以在两层树之间进行

 

写题时间时长

以上是关于101. Symmetric Tree的主要内容,如果未能解决你的问题,请参考以下文章

101. Symmetric Tree

[LeetCode]题解(python):101-Symmetric Tree

101. Symmetric Tree

101. Symmetric Tree

LeetCode OJ 101Symmetric Tree

101. Symmetric Tree