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

四川省建设厅申报网站沈阳妇科医院哪个好

四川省建设厅申报网站,沈阳妇科医院哪个好,番禺做网站800元,江苏网站建站系统平台1题目 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径#xff0c;这条路径上所有节点值相加等于目标和 targetSum 。如果存在#xff0c;返回 true #xff1b;否则#xff0c;返回 false 。 叶子节点 是指没有…1题目 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径这条路径上所有节点值相加等于目标和 targetSum 。如果存在返回 true 否则返回 false 。 叶子节点 是指没有子节点的节点。 示例 1 输入root [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum 22 输出true 解释等于目标和的根节点到叶节点路径如上图所示。 示例 2 输入root [1,2,3], targetSum 5 输出false 解释树中存在两条根节点到叶子节点的路径 (1 -- 2): 和为 3 (1 -- 3): 和为 4 不存在 sum 5 的根节点到叶子节点的路径。 示例 3 输入root [], targetSum 0 输出false 解释由于树是空的所以不存在根节点到叶子节点的路径。 2链接 题目链接112. 路径总和 - 力扣LeetCode 视频链接拿不准的遍历顺序搞不清的回溯过程我太难了 | LeetCode112. 路径总和_哔哩哔哩_bilibili 3解题思路 本题适合递归法可以使用深度优先遍历的方式本题前中后序都可以无所谓因为中节点也没有处理逻辑来遍历二叉树 1、确定递归函数的参数和返回类型 参数需要二叉树的根节点还需要一个计数器这个计数器用来计算二叉树的一条边之和是否正好是目标和计数器为int型。 再来看返回值递归函数什么时候需要返回值什么时候不需要返回值这里卡哥总结如下三点 a. 如果需要搜索整棵二叉树且不用处理递归返回值递归函数就不要返回值。 b. 如果需要搜索整棵二叉树且需要处理递归返回值递归函数就需要返回值。  c. 如果要搜索其中一条符合条件的路径那么递归一定需要返回值因为遇到符合条件的路径了就要及时返回。 而本题我们要找一条符合条件的路径所以递归函数需要返回值及时返回那么返回类型是什么呢 如图所示 图中可以看出遍历的路线并不要遍历整棵树所以递归函数需要返回值可以用bool类型表示。  2、确定终止条件 计数器如何统计这一条路径的和 不要去累加然后判断是否等于目标和那么代码比较麻烦可以用递减让计数器count初始为目标和然后每次减去遍历路径节点上的数值。 如果最后count 0同时到了叶子节点的话说明找到了目标和。 如果遍历到了叶子节点count不为0就是没找到。 递归终止条件代码如下 3、确定单层递归的逻辑 因为终止条件是判断叶子节点所以递归的过程中就不要让空节点进入递归了。 递归函数是有返回值的如果递归函数返回true说明找到了合适的路径应该立刻返回。 4代码 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*///递归法 class Solution { public:bool traversal(TreeNode* node, int target) {//遇到叶子结点且目标值被减为零说明符合题意返回True否则falseif (node-left nullptr node-right nullptr target 0) return true;if (node-left nullptr node-right nullptr target ! 0) return false;if (node-left) { //左子树target - node-left-val; //目标值每访问一个节点就减去其值//说明在递归的过程中找到了目标路线一层层返回上来tureif (traversal(node-left, target)) return true;target node-left-val;//回溯目的为了还原目标值去遍历右子树}if (node-right) {//右子树下面同理target - node-right-val;if (traversal(node-right, target)) return true;target node-right-val;}return false;//以上都没返回true说明没找到那就返回false}bool hasPathSum(TreeNode* root, int targetSum) {if (root nullptr) return false;//空节点return(traversal(root, targetSum - root-val));//调用递归函数} }; 一定要看懂上面的二叉树回溯图和这个代码对应极其密切
http://www.dnsts.com.cn/news/191715.html

相关文章:

  • 网站文章列表模板网站建设 团队
  • 好网站建设因素深圳的网站建设公司pestl分析
  • 国内做网站制作比较桂林生活网论坛
  • 手机网站范例wordpress 手机 菜单
  • 阳江公司网站建设区块链app定制开发
  • 网上做调查问卷赚钱的网站提供温州手机网站制作哪家便宜
  • 广州网站设计制作报价小程序免费制作平台二维码筛选
  • 优质做网站哪家正规国内重大新闻20条
  • 数据网站怎么做的网站免费获取验证码怎么做
  • 手机支付网站开发wordpress4.2.15漏洞
  • 大余县网站网络销售应该注册什么公司
  • 做网站 php python网站后台乱码
  • 长春建设厅网站什么公司设计网站建设
  • 企业网站建设怎么做建设网站需要几个人完成
  • 营销型网站建设及推广企业网站建设的主要目的是
  • 做家教网站如何招生超市网站模版
  • 怎么上传自己做的网站绍兴网站建设哪好
  • 电商行业建设网站网页免费浏览网站
  • 制作一个交易平台网站注册城乡规划师考试时间2024
  • 我买了一个备案网站 可是公司注销了wordpress登录后搜索
  • 长沙最好网站建设小程序推广平台有哪些
  • 电商网站开发北京个人网页制作成品代码五个页面
  • 网站 备案 几天wordpress主题的意思
  • 生鲜网站模板百度官网推广平台电话
  • 网站收录平台最新网页游戏大全
  • 多媒体网站建设地产建站规划
  • 博山网站建设yx718建立局域网的步骤
  • 长沙3合1网站建设公司sem推广外包
  • 做兼职哪个网站好wordpress 插件钩子
  • 台州网站建站服务哪家奿长春新建设