递归
zkp~
这个作者很懒,什么都没留下…
展开
-
力扣之路径总和 II
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1返回:[[5,4,11,2],[5,8,4,5]]思路:要找出所有正确路径,我们就要遍历所有的路径,所有使原创 2020-07-08 16:15:19 · 186 阅读 · 0 评论 -
层数最深叶子节点的和之超简单
给你一棵二叉树,请你返回层数最深的叶子节点的和。示例:输入:root = [1,2,3,4,5,null,6,7,null,null,null,null,8]输出:15提示:树中节点数目在 1 到 10^4 之间。每个节点的值在 1 到 100 之间。思路:我们只需要搜索所有的叶子结点,并把相同层数的叶子节点值加在一起最后输出层数最大的值数据:用字典:键为层数,值为数值设计:参数传递:子结点,字典,层数基例:如果是叶子结点则根据层数增加值,返回字典其它操作:无递归:深度优先,原创 2020-06-25 22:48:01 · 427 阅读 · 0 评论 -
祖父节点值为偶数的节点和
给你一棵二叉树,请你返回满足以下条件的所有节点的值之和:该节点的祖父节点的值为偶数。(一个节点的祖父节点是指该节点的父节点的父节点。)如果不存在祖父节点值为偶数的节点,那么返回 0 。示例:输入:root = [6,7,8,2,7,1,3,9,null,1,4,null,null,null,5]输出:18解释:图中红色节点的祖父节点的值为偶数,蓝色节点为这些红色节点的祖父节点。提示:树中节点的数目在 1 到 10^4 之间。每个节点的值在 1 到 100 之间。思路:本题中,我们要找的原创 2020-06-25 17:59:29 · 208 阅读 · 0 评论 -
不同路径之深度遍历模型
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。说明: 叶子节点是指没有子节点的节点。示例:给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11原创 2020-06-25 16:17:42 · 186 阅读 · 0 评论 -
删列造序之省存的递归解法
给定由 N 个小写字母字符串组成的数组 A,其中每个字符串长度相等。你需要选出一组要删掉的列 D,对 A 执行删除操作,使 A 中剩余的每一列都是 非降序 排列的,然后请你返回 D.length 的最小可能值。删除 操作的定义是:选出一组要删掉的列,删去 A 中对应列中的所有字符,形式上,第 n 列为 [A[0][n], A[1][n], …, A[A.length-1][n]])。(可以参见 删除操作范例)例子:输入:[“cba”, “daf”, “ghi”]输出:1解释:当选择 D = {原创 2020-06-01 10:49:41 · 126 阅读 · 0 评论 -
递归乘法之位运算
递归乘法。 写一个递归函数,不使用 * 运算符, 实现两个正整数的相乘。可以使用加号、减号、位移,但要吝啬一些。例题:输入:A = 1, B = 10输出:10思路:1.递归加法两个数相乘,a*b等价于将b加个a次 def dg(self,a,b): if a==1: return b return self.dg(a-1,b)+b但是这样计算的,当输入1001,1时,会出现一下错误提示:RecursionError: max原创 2020-05-31 08:03:13 · 774 阅读 · 0 评论 -
利用前中遍历重创二叉树
重创二叉树原创 2020-05-30 23:23:59 · 121 阅读 · 0 评论