上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 记住4个递归结束的判断条件: 叶子节点的定义是左孩子和右孩子都为 null 时叫做叶子节点 当 root 节点左右孩子都为空时,返回 1 当 root 节点左右孩子有一个为空时,返回不为空的孩子节点的深度 当 root 节点左右孩子都不为空时,返回左右孩子较小深度的节点值 # Definition 阅读全文
posted @ 2020-11-25 11:39 WangSJiNa 阅读(45) 评论(0) 推荐(0)
摘要: 回溯法框架: result = [] def backtrack(路径, 选择列表): if 满足结束条件: result.add(路径) return for 选择 in 选择列表: 做选择 backtrack(路径, 选择列表) 撤销选择 实现: class Solution: def perm 阅读全文
posted @ 2020-11-24 20:59 WangSJiNa 阅读(81) 评论(0) 推荐(0)
摘要: 动态规划的方法 class Solution: def fib(self, N: int) -> int: dp = (N+1)*[0] if N<1: return 0 dp[1] = 1 for i in range(2,N+1): dp[i] = dp[i-1] + dp[i-2] retur 阅读全文
posted @ 2020-11-24 20:40 WangSJiNa 阅读(73) 评论(0) 推荐(0)
摘要: 经典的动态规划问题,记住状态转移方程,dp[i] = min{dp[i],dp[i-coin]+1},dp[i-coin]+1是加上当前的一枚硬币。 class Solution: def coinChange(self, coins: List[int], amount: int) -> int: 阅读全文
posted @ 2020-11-24 20:17 WangSJiNa 阅读(84) 评论(0) 推荐(0)
摘要: 最后将构造好的树的根节点返回即可,利用index函数找到中序遍历中根节点位置 # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val = x # self.left = No 阅读全文
posted @ 2020-11-24 19:27 WangSJiNa 阅读(68) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 下一页