LeetCode如何实现路径总和
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,小编给大家分享一下LeetCode如何实现路径总和,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!题目描述给定一个二叉树和一
千家信息网最后更新 2025年01月31日LeetCode如何实现路径总和
小编给大家分享一下LeetCode如何实现路径总和,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
题目描述
给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。
说明: 叶子节点是指没有子节点的节点。
示例: 给定如下二叉树,以及目标和 sum = 22
,
5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1
返回 true
, 因为存在目标和为 22 的根节点到叶子节点的路径 5->4->11->2
。
解题方案
思路
标签:深度优先遍历
递归终止条件:
当前节点为null时返回false
当前节点为根节点时 且 路径和等于目标和 则返回true
递归过程:不断判断判断左右子树
注意点:这里涉及到短路问题,也就是当发现了某一条路径和满足条件时,就应该结束递归,故而下面的解法中使用了
或
运算,这样不用判断全部路径,有满足条件则结束,减少时间复杂度
代码
/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */class Solution { public boolean hasPathSum(TreeNode root, int sum) { if(root == null ) return false; if(root.left == null && root.right == null && sum == root.val) return true; return hasPathSum(root.left, sum - root.val) || hasPathSum(root.right, sum - root.val); }}
以上是"LeetCode如何实现路径总和"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
节点
路径
目标
叶子
条件
篇文章
递归
总和
内容
复杂
不怎么
不断
不用
也就是
代码
复杂度
大部分
思路
方案
时间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技的名言
软件开发 能力地图
小米的云服务器在哪个国家
网络安全防护技术不够
notepad 数据库
我的世界服务器前台怎么改难度
1t服务器硬盘价格
sql设置数据库兼容
数据库 评论表
集团化网络安全规划
桓台企业软件开发
网络安全等级测评要求二级
网络安全培训班新闻
考数据库技术需要先考什么
博兴crm软件开发价格
rdf数据库
国家网络安全学院考研录取分数线
支持240w的服务器
软件开发估算工具
网络安全5要素
数据库中的精度和标度
吉林有名的网络技术咨询参考价格
白银软件开发培训学校
不带数据库的网站
jk根服务器
技术软件开发合同模板下载
amax服务器bmc
杭州软件开发定制哪家服务好
软件开发印度
郑州易虎网络技术有限公司