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

算法-利用深度优先搜索求解二叉树路径问题

这道题可以用深度优先搜索来写,比如说加入节点左右节点都为空且值等于targetsum则返回true,这里可以使用一个简单的方法来写,就比如说我们每次遍历到一个节点时,用targetsum减去当前节点的值 ,这样的话只要遍历到叶子节点值等于targetsum的值就返回true,这样不用再考虑求和的事,更加简单。

代码如下:

import javax.swing.tree.TreeNode;
// 给你二叉树的根节点root 判断是否有到叶子节点的路径值加起来目标和等于targetSum
// 可以使用深度优先搜索(dfs)
public class hasPathSum {
    class Solution{
        public boolean hasPathSum(TreeNode root, int targetSum) {
            if(root == null) return false;
            if(root.left==null&&root.right==null&&targetSum==root.val){
                return true;
            }

            return hasPathSum(root.left,targetSum-root.val)||hasPathSum(root.right,targetSum-root.val);
        }
    }
}


http://www.kler.cn/news/361095.html

相关文章:

  • 服务器中使用wss协议连接websocket(基于netty)
  • Elasticsearch高级搜索技术-基于时间的数据处理
  • DS几大常见排序讲解和实现(中)(14)
  • 一起搭WPF框架之加载图片
  • 宝塔安装ffmpeg的方法
  • 浅谈计算机存储体系和CPU缓存命中
  • 【科普】边缘计算和云计算及边缘AI应用
  • linx yum镜像源变阿里云库下载及docker的学习
  • Pandas | statas | 统计学中Levene检验和双样本t检验的使用
  • MySQL 中的数据排序是怎么实现的
  • ROM修改进阶教程------修改框架framework.apk来实现系统中某些功能开启与关闭 完整选项含义与修改事宜
  • [Gtk] 工程
  • 集合相关:asList()和subList()方法的作用?
  • PeptidesFunctionalDataset(helpers.dataset_classes文件中的lrgb.py)
  • 约克VRF打造舒适绿色无污染的生活环境
  • 基于Java+ssm的名著阅读网站
  • CSP-S模拟5复盘
  • 【计网】理解TCP全连接队列与tcpdump抓包
  • HCIP-HarmonyOS Application Developer 习题(十三)
  • 革新你的智能体验:AIStarter 3.1.1正式版现已上线【安全认证】ai应用市场,数字人,ai绘画,ai视频,大模型,工作流因有尽有