刷力扣热题–第十一天:94:二叉树的中序遍历+104:二叉树的最大深度
菜鸟第十一天开始奋战敲代码,持之以恒,见证成长
1.题目简介
(1)二叉树的中序遍历
(2)二叉树的最大深度
2.题目解答
(1)二叉树的中序遍历
树的遍历一般都是选择递归,做法也很常规,左->根->右,依次递归返回
(2)二叉树的最大深度
递归分别查看左子树和右子树的长度,之后返回最大值.
3.心得体会
到二叉树以后,也是自己的痛点,一递归就感觉比较难想,做题的时候还很难形成思维连贯性,所以趁热打铁刷一下,看感觉继续做~
(1)二叉树的中序遍历
class Solution(object):
def inorderTraversal(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
medium = []
def get_val(root,medium):
if root:
get_val(root.left,medium)
medium.append(root.val)
get_val(root.right,medium)
return medium
val = get_val(root,medium)
return val
(2)二叉树的最大深度
class Solution(object):
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
if root is None:
return 0
else:
left = self.maxDepth(root.left)
right = self.maxDepth(root.right)
return max(left,right)+1
4.做题时长
7月15日 14:15-15:30 趁热打铁吧~