日常刷题
226.翻转二叉树
101. 对称二叉树
104.二叉树的最大深度
111.二叉树的最小深度
p.s: 优先掌握递归,有余力借机巩固其他迭代等方法
注:思路清晰,不要走神,思路理不清上手写容易自我怀疑
初写 不要看高手一步到位或神奇操作的代码
(今日总结:迭代基本掌握了,队列之类的方法看了一眼,放下了,hhh)
226、101 速度不快,算是对迭代的巩固吧,迭代不太会
226
101
这个 return …(root,root) 是一个比较神奇的做法,我在纠结究竟是 (root,root) 还是 (root.right,root.left),前者应该是后者时间的double
版本一:
版本二:
104 二叉树的最大深度
精巧代码,简单好用
def maxDepth(self, root: Optional[TreeNode]) -> int:
if not root:
return 0
return max(self.maxDepth(root.left),self.maxDepth(root.right)) + 1
111
还行,坏的写题习惯有一点改进