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的主要内容,如果未能解决你的问题,请参考以下文章