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

二叉树路径总和

一、给你二叉树的根节点 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);}}
}

http://www.xdnf.cn/news/5601.html

相关文章:

  • 10:00开始面试,10:08就出来了,问的问题有点变态。。。
  • wordcount在mapreduce的例子
  • 解读RTOS:第二篇 · 线程/任务管理与调度策略
  • WebGIS开发新突破:揭秘未来地理信息系统的神秘面纱
  • 回答 | 图形数据库neo4j社区版可以应用小型企业嘛?
  • 宇树科技安全漏洞揭示智能机器人行业隐忧
  • 视频翻译软件有哪些?推荐5款视频翻译工具[特殊字符][特殊字符]
  • 树莓派4 yolo 11l.pt性能优化后的版本
  • 摆脱拖延症的详细计划示例
  • Java根据文件名前缀自动分组图片文件
  • 社交APP如何借助游戏盾守护业务稳定
  • 配置Hadoop集群环境-使用脚本命令实现集群文件同步
  • React Native踩坑实录:解决NativeBase Radio组件在Android上的兼容性问题
  • Babel进阶:如何自定义插件?
  • 如何使用Launch4J将我们jar包变成一个可执行文件exe(依赖解压的jdk)
  • 常用的设计模式详解
  • BUUCTF 大流量分析(二) 1
  • Pycharm中No Conda enviroment selected
  • o.redisson.client.handler.CommandsQueue : Exception occured. Channel
  • 判断一个数是不是素数的最高效的算法
  • 在Fortran中输出类似Markdown的表格
  • Python Day23 学习
  • [pgsql]未认可的配置参数 “database_mode“
  • AutoDL租用服务器教程
  • 各类大豆相关数据集大合集
  • 动手学深度学习12.3.自动并行-笔记练习(PyTorch)
  • 四、SpringMVC实战:构建高效表述层框架
  • 【AutoGen深度解析】下一代AI代理编程框架实战指南
  • 日语学习-日语知识点小记-构建基础-JLPT-N4阶段(19):て形/ないで
  • SAP学习笔记 - 开发09 - BTP简介,BTP在SAP产品中的位置