【LeetCode-中等题】437. 路径总和 III

文章目录

    • 题目
    • 方法一:迭代层序 + 每层节点dfs 维护一个count变量

题目

在这里插入图片描述

方法一:迭代层序 + 每层节点dfs 维护一个count变量

思路:

  1. 层序遍历每一个节点
  2. 遍历一个节点就对这个节点进行dfs
  3. dfs的同时,维护一个count变量,并且把每次路径节点进行累加,然后判断sum==target 如果相等 让count++
  4. 直到当前节点的dfs结束后,再进行下一个节点的dfs
  5. 最后输出count
    在这里插入图片描述
// 方法一 迭代层序 + 每层节点dfs  维护一个count变量int count ;public int pathSum(TreeNode root, int targetSum) {if(root == null) return 0;Queue<TreeNode> queue = new LinkedList<>();queue.offer(root);while(!queue.isEmpty()){int size = queue.size();for(int i =0 ;i<size;i++){TreeNode node = queue.poll();checkPathDfs(node,0,targetSum);//对该节点的dfs的同时  累加路径的值同时和target对比,若sum累加值 == target 则count++if(node.left != null) queue.offer(node.left);if(node.right != null) queue.offer(node.right);}  }return count;}//dfs:累加路径的值同时和target对比,若sum累加值 == target 则count++public void checkPathDfs(TreeNode root, long sum,int targetSum) {//注意  sum要为long  因为测试案例超出了int的范围了  sum值会处在封顶的位置,而不是真实值if(root == null) return ;sum = sum + root.val;if(sum == targetSum) count++;checkPathDfs(root.right,sum,targetSum);//对右子树dfs 并且sum继承过来    左右子树的sum归左子树的,右子树的sum归右子树  互不干扰checkPathDfs(root.left,sum,targetSum);}

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

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

相关文章

【SpringCloud技术专题】「Gateway网关系列」(1)微服务网关服务的Gateway组件的原理介绍分析

为什么要有服务网关? 我们都知道在微服务架构中&#xff0c;系统会被拆分为很多个微服务。那么作为客户端要如何去调用这么多的微服务呢&#xff1f;难道要一个个的去调用吗&#xff1f;很显然这是不太实际的&#xff0c;我们需要有一个统一的接口与这些微服务打交道&#xf…

springboot如何区分测试环境、生产环境。分环境启动

一 通过Maven打包时&#xff0c;将不同环境文件打入jar包来区分环境&#xff0c;然后直接启动jar包即可 1 pom.xml文件project标签里面加入以下配置 环境关键字可以根据自己的习惯来改 <profiles><!--开发--><profile><id>dev</id><propert…

工服穿戴检测算法 工装穿戴识别算法

工服穿戴检测算法 工装穿戴识别算法利用yolo网络模型图像识别技术&#xff0c;工服穿戴检测算法 工装穿戴识别算法可以准确地识别现场人员是否穿戴了正确的工装&#xff0c;包括工作服、安全帽等。一旦检测到未穿戴的情况&#xff0c;将立即发出警报并提示相关人员进行整改。Yo…

【【萌新的STM32学习--24 USART的部分介绍】】

萌新的STM32学习–24 USART的部分介绍 STM32的USART的介绍 USART 英文解释是 通用同步异步收发器 UART 通用异步收发器 USART/UART 都可以与外部设备进行全双工异步通信 USART 我们常用的也是异步通信 USART 主要特征 1.全双工异步通信 2.单线半双工通信 3.单独的发送器和接…

优思学院|企业推行精益生产要具备哪些前提条件?

企业界早已充斥着各种方法和策略&#xff0c;试图模仿精益生产和六西格玛管理等成功之路&#xff0c;目标在于通过质量工具的运用来改善业务。然而&#xff0c;许多公司在推行这些方法的过程中都犯了一个大错&#xff1a;他们忽视了背后的企业文化和制度&#xff0c;以及精益生…

打破时空限制:海外网红营销中的直播与虚拟互动

随着全球互联网的普及和技术的迅速发展&#xff0c;传统的商业模式也在不断演变。其中&#xff0c;海外网红直播带货成为了一种引人注目的全新营销方式。近年来&#xff0c;虚拟技术的蓬勃发展为海外网红直播带货提供了新的可能性&#xff0c;不仅丰富了消费者的购物体验&#…

计算机专业学生实习的一条明路

当计算机专业的学生毕业后学习嵌入式开发优势也会非常的明显。计算机专业提供了坚实的编程基础、数据结构和算法知识&#xff0c;这些都是嵌入式开发所需要的基本技能。视频后方有免费的嵌入式学习资料&#xff0c;按需自取。此外&#xff0c;对操作系统和系统编程的了解也为嵌…

如何在Windows本地快速搭建SFTP文件服务器,并通过端口映射实现公网远程访问

文章目录 1. 搭建SFTP服务器1.1 下载 freesshd服务器软件1.3 启动SFTP服务1.4 添加用户1.5 保存所有配置 2 安装SFTP客户端FileZilla测试2.1 配置一个本地SFTP站点2.2 内网连接测试成功 3 使用cpolar内网穿透3.1 创建SFTP隧道3.2 查看在线隧道列表 4. 使用SFTP客户端&#xff0…

【SVN】 代码版本管理工具使用步骤以及全局忽略不需要提交的文件夹

2023年&#xff0c;第36周。给自己一个目标&#xff0c;然后坚持总会有收货&#xff0c;不信你试试&#xff01; SVN是Subversion的简称&#xff0c;是一个开源的版本控制系统&#xff0c;用于管理软件开发过程中的代码版本和文件变更。 它提供了跟踪文件修改、协同开发、版本回…

汽车服务门店小程序模板制作指南

在数字化时代&#xff0c;一个小程序的力量不可忽视。它不仅是展示品牌形象和提供用户服务的重要工具&#xff0c;更是扩大客户群体和提高营收的关键手段。对于汽车服务门店来说&#xff0c;拥有一个精美且功能齐全的小程序&#xff0c;更将成为你在竞争激烈的市场中的重要武器…

AUTOSAR开发工具DaVinci Configurator里的Modules

DaVinci Configurator 里面有个Module这个概念。 如你所想&#xff0c;基本上跟AUTOSAR架构里面的Module相对应 从软件的Project菜单中的Basic Editor项可以打开 打开这个菜单后&#xff0c;会看到很多Modules项以及其相关配置项 这个Basic Editor显示出整个ECU配置中的所有…

微信开发之朋友圈自动评论的技术实现

简要描述&#xff1a; 朋友圈评论 请求URL&#xff1a; http://域名地址/snsComment 请求方式&#xff1a; POST 请求头Headers&#xff1a; Content-Type&#xff1a;application/jsonAuthorization&#xff1a;login接口返回 参数&#xff1a; 参数名必选类型说明wI…