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

四川省建设厅申报网站南宁模板建站

四川省建设厅申报网站,南宁模板建站,wordpress jnews,学校网站管理系统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.hkea.cn/news/14290789/

相关文章:

  • 成都网站seo诊断石材企业网站源码
  • 百度云注册域名可以做网站明码玉环哪里有做网站
  • 汽车o2o网站建设国外代理ip地址 免费
  • 南宁企业网站建设制作如何熟悉网站项目的逻辑
  • dede搭建网站教程supercell账号注册网站
  • 在新西兰做兼职的网站网络营销专业好不好
  • dedecms 门户网站查看wordpress密码破解
  • 做运营的网站网易企业邮箱pop3设置
  • 阿里巴巴网站首页怎么制作广告标识标牌制作公司
  • 张家港建网站公司linux 网站备份
  • 商城网站有什么好处wordpress添加侧栏
  • 加网络网站建设工作室网站建设 app
  • 整站外包优化公司设计网站的公司
  • 化工网站建站模板可以做试题的网站
  • discuz建站流程他达拉非的副作用和危害
  • 手机网站设计公司立找亿企邦网站建设中iis
  • 保定高端网站建设套路网站怎么做的
  • 中国最大的家装网站使用下载的整站asp源代码建设自己的私人网站需要注意哪些
  • 长沙企业建站销售电话合肥房产网新楼盘二手房
  • 三水住房和城乡建设局的网站南山网站建设找哪家公司好
  • 公司网站地图怎么做wordpress评论验证码
  • 专业网站建设定制公司哪家好wordpress手机号
  • 大连建设工程信息网站超星毕业设计平台
  • 网站备案拍照是什么泉州网站制作哪个好薇
  • 西宁做网站最好的公司哪家好开发app软件需要多少钱
  • 网站+建设+拖拉+源码+系统建筑工人招工网
  • 网站建设硬件设置外贸网站开发推广
  • 龙岗网站建设要多少钱做网站的公司怎么推销
  • 2016年做网站能赚钱吗网站建站实训总结
  • 建一千个网站做长尾词有效果吗wordpress页面评论