今天的三道题:
前两道自己硬解出来了,后一道完全没懂,看了解析
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
minM = inf
pre = None
def getMinimumDifference(self, root: Optional[TreeNode]) -> int:
## 递归比较
def getMin(root):
if not root:
return
getMin(root.left)
if self.pre is not None:
self.minM = min(self.minM,root.val - self.pre.val)
self.pre = root
getMin(root.right)
getMin(root)
return self.minM
这种方法不用再额外开辟一个数组
异曲同工的:
这道题,有一些小巧思,但是大体思路上也是一样的,用一个pre来保存前一个节点参数
最后一道:
这道题,不听讲解完全解不出来,return的回溯还是模模糊糊