当前位置: 首页 > news >正文

二叉树路径总和

一、给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。

112. 路径总和 - 力扣(LeetCode)

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public boolean traversal(TreeNode root,int sum){if(root.left==null&&root.right==null&&sum==0)return true;if(root.left==null&&root.right==null&&sum!=0)return false;if(root.left!=null){sum-=root.left.val;if(traversal(root.left,sum))return true;sum+=root.left.val;//回溯}if(root.right!=null){sum-=root.right.val;if(traversal(root.right,sum))return true;sum+=root.right.val;}return false;}public boolean hasPathSum(TreeNode root, int targetSum) {if(root==null)return false;return traversal(root,targetSum-root.val);}
}

二、给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。

113. 路径总和 II - 力扣(LeetCode)

class Solution {public List<List<Integer>> pathSum(TreeNode root, int targetSum) {List<List<Integer>> res=new ArrayList<>();if(root==null)return res;List<Integer> path=new LinkedList<>();traversal(root,targetSum,res,path);return res;}public void traversal(TreeNode root, int targetSum,List<List<Integer>> res,List<Integer> path){path.add(root.val);if(root.left==null&&root.right==null&&targetSum-root.val==0)res.add(new ArrayList<>(path));if (root.left!=null) {traversal(root.left,targetSum-root.val,res,path);path.remove(path.size()-1); // 回溯}if (root.right!=null) {traversal(root.right,targetSum-root.val,res,path);path.remove(path.size()-1);}}
}

相关文章:

  • 【vue】全局组件及组件模块抽离
  • .NET 在鸿蒙系统上的适配现状
  • 1.5 连续性与导数
  • SnowAdmin - 功能丰富、简单易用的开源的后台管理框架,基于 Vue3 / TypeScript / Arco Design 等技术栈打造
  • 系统架构-通信系统架构设计
  • Java大师成长计划之第19天:性能调优与GC原理
  • [ linux-系统 ] 自动化构建工具makefile
  • 如何通过DNS解析实现负载均衡?
  • 2025 盘古石杯初赛 wp
  • Python集成开发环境之Thonny
  • Ubuntu中配置【Rust 镜像源】
  • 今日行情明日机会——20250512
  • 六、STM32 HAL库回调机制详解:从设计原理到实战应用
  • 风车OVF镜像:解放AI开发限制的Ubuntu精简系统
  • 如何在 Bash 中使用 =~ 操作符 ?
  • linux内存管理
  • 【HarmonyOS 5】鸿蒙App Linking详解
  • 理解多智能体深度确定性策略梯度MADDPG算法:基于python从零实现
  • 方形铝壳电芯自动分选机:精准分档与高效生产的创新实践
  • Matlab 短时交通流预测AR模型
  • 比特币挖矿公司GRYP股价涨超171%:将与特朗普儿子创设的公司合并
  • 上海现有超12.3万名注册护士,本科及以上学历占一半
  • 科普|“小”耳洞也会引发“大”疙瘩,如何治疗和预防?
  • 让胖东来“自闭”的玉石生意,究竟水有多深?
  • 5.19中国旅游日,上海56家景区景点限时门票半价
  • 巴防空系统击落印度无人机,印称巴方违反停火协议