112. 路径总和 golang

112. 路径总和

给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。

说明: 叶子节点是指没有子节点的节点。

示例:
给定如下二叉树,以及目标和 sum = 22,

          5/ \4   8/   / \11  13  4/  \      \7    2      1

返回 true, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2。

Code

func hasPathSum(root *TreeNode, sum int) bool {if root == nil {return false}if root.Val == sum && root.Left == nil && root.Right == nil{return true}return hasPathSum(root.Left, sum-root.Val) || hasPathSum(root.Right, sum-root.Val)
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/382143.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

迷途

? 好不容易熬到了周末,却又不知道该做些什么,一转眼,发现什么都没有做又过去了,其实人又总是不这样,总是渴望得到,得到了却没了下一步的计划,这种感觉跟你爬到山顶却索然无味的感觉一样&am…

113. 路径总和 II golang

113. 路径总和 II 给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。 说明: 叶子节点是指没有子节点的节点。 示例: 给定如下二叉树,以及目标和 sum 22, 5/ \4 8/ / \11 13 4/ \ / \7 …

二项式系数的递归算法

??写递归函数时,偶然想起来二项式系数的递归写法。废话不说,上代码。code:#include #include using namespace std;int er(int n,int k){if(k0||kn)return 1;elsereturn (er(n-1,k-1)er(n-1,k))%2;}int main(){int a,b;while (cin>>a>>b)c…

222. 完全二叉树的节点个数 golang

222. 完全二叉树的节点个数 给出一个完全二叉树,求出该树的节点个数。 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中…

刚刚有水了一道,用递归实现进制转换

code :#include <iostream>using namespace std;int a[101],i0;void jinzhi (int n){if (n1)a[i]1;else {a[i]n%2;jinzhi(n/2);}}int main (){int k,j;cin>>k;jinzhi(k);for (int ji-1;j>0;j--)cout<<a[j];}其实原理都是一样&#xff0c;无非是换成方法而…

958. 二叉树的完全性检验 golang

958. 二叉树的完全性检验 给定一个二叉树&#xff0c;确定它是否是一个完全二叉树。 百度百科中对完全二叉树的定义如下&#xff1a; 若设二叉树的深度为 h&#xff0c;除第 h 层外&#xff0c;其它各层 (1&#xff5e;h-1) 的结点数都达到最大个数&#xff0c;第 h 层所有的…

dp问题:采药

今天把采药A了&#xff0c;属于dp问题&#xff0c;主要思路是把所有时间都存进一个数组中&#xff0c;数组的值对应药的价值&#xff0c;下标是时间&#xff0c;然后记忆化搜索&#xff0c;碰到价值高的就赋值&#xff0c;相比于摘花生&#xff0c;辰辰是一个聪明的猴子&#x…

662. 二叉树最大宽度 golang

662. 二叉树最大宽度 给定一个二叉树&#xff0c;编写一个函数来获取这个树的最大宽度。树的宽度是所有层中的最大宽度。这个二叉树与满二叉树&#xff08;full binary tree&#xff09;结构相同&#xff0c;但一些节点为空。 每一层的宽度被定义为两个端点&#xff08;该层最…

传值的一点认识

今天又把C课本翻了一遍&#xff0c;发现了好多以前没彻底弄清楚的问题&#xff0c;比如说传值。说起传值&#xff0c;最先想到的恐怕是赋值&#xff0c;他是最基本的传值方式&#xff0c;不过有时候我们希望用另外的方式来传值。传值一共有三种方式&#xff0c;第一种是赋值&am…

递归经典例子

程序调用自身的编程技巧称为递归&#xff08; recursion&#xff09;。 一个过程或函数在其定义或说明中又直接或间接调用自身的一种方法&#xff0c;它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解&#xff0c;递归策略只需少量的程序就可描述出…

golang中的栈(LeetCode刷题)

栈的模拟&#xff08;LeetCode刷题用法&#xff09; func main() {stack : make([]string, 0)stack append(stack, "1" )stack append(stack, "2" )stack append(stack, "3" )fmt.Println(stack)stack stack[:len(stack)-1]fmt.Println(sta…

739. 每日温度 golang (list实现)

739. 每日温度 根据每日 气温 列表&#xff0c;请重新生成一个列表&#xff0c;对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高&#xff0c;请在该位置用 0 来代替。 例如&#xff0c;给定一个列表 temperatures [73, 74, 75, 71, 69, 72, …

openjudge基础题3计算书费

总时间限制: 1000ms内存限制: 65536kB描述下面是一个图书的单价表&#xff1a;计算概论 28.9 元/本数据结构与算法 32.7 元/本数字逻辑 45.6元/本C程序设计教程 78 元/本人工智能 35 元/本计算机体系结构 86.2 元/本编译原理 27.8元/本操作系统 43 元/本计算机网络 56 元/本JAV…

739. 每日温度 golang

739. 每日温度 根据每日 气温 列表&#xff0c;请重新生成一个列表&#xff0c;对应位置的输出是需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高&#xff0c;请在该位置用 0 来代替。 例如&#xff0c;给定一个列表 temperatures [73, 74, 75, 71, 69, 72, …

查找和排序的一点浅显认识

以前老是混淆各种排序的方法&#xff0c;对此我也感到十分苦恼&#xff0c;去网上搜索各种排序教程&#xff0c;结果收获颇微&#xff0c;就在期末考试时&#xff0c;我还担心会有排序的题&#xff08;事实证明我多虑了&#xff09;&#xff0c;不过作为算法的基本功&#xff0…

581. 最短无序连续子数组 golang

581. 最短无序连续子数组 给定一个整数数组&#xff0c;你需要寻找一个连续的子数组&#xff0c;如果对这个子数组进行升序排序&#xff0c;那么整个数组都会变为升序排序。 你找到的子数组应是最短的&#xff0c;请输出它的长度。 示例 1: 输入: [2, 6, 4, 8, 10, 9, 15] …

引用 看图英语作文万能模板

来源&#xff1a;新东方 2007-7-27 纵观历年的考研作文题&#xff0c;均为图画作文&#xff0c;鲜有图表作文&#xff0c;而现在考研作文的要求采用八股文的模式——命题者已经告诉你要去写什么、怎么写甚至于顺序都已经安排 好&#xff01;那么针对这么一个固化的考试模…

41. 缺失的第一个正数 golang

41. 缺失的第一个正数 给你一个未排序的整数数组&#xff0c;请你找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 Code 双百解法&#xff01;这个题据说今日头条出过&#xff0…

Android手机隐藏命令大全

Android手机隐藏命令大全&#xff0c;用之前要考 虑清楚尤其是涉及到格式化或者恢复出厂设 置类的&#xff01;注意&#xff1a;因Android版本较多&#xff0c;固有部分隐 藏命令或不能使用&#xff08;笔者用HTC legend测试 发现部分命令可用&#xff0c;比如*#*#4636#*#*&…

56. 合并区间 golang

56. 合并区间 给出一个区间的集合&#xff0c;请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 示例 2: 输入: [[1,4],[4,5]] 输出: [[1,5]] 解释: 区间 [1,4] 和 …