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

电脑行业网站模板北京商城网站建设费用

电脑行业网站模板,北京商城网站建设费用,网站做的支付宝接口吗,福州企业网站维护二叉树中和为某一值的路径(一) 题目链接:二叉树中和为某一值的路径(一) 解题思路1:递归 我们或许想记录下每一条从根节点到叶子节点的路径,计算出该条路径的和,但此种思路用递归稍麻烦,我们可以试着把和转换为差&am…

二叉树中和为某一值的路径(一)

题目链接:二叉树中和为某一值的路径(一)

解题思路1:递归

我们或许想记录下每一条从根节点到叶子节点的路径,计算出该条路径的和,但此种思路用递归稍麻烦,我们可以试着把和转换为差,从根节点开始,sum就减去根节点的值,如果到叶子节点,减为0了,那就证明此路径满足要求

递归结束条件:节点为空,意味着已经走过了叶子节点,返回;每当检查到某节点没有子节点,则说明该节点为叶子节点,如果此时sum的值减去该节点的值刚好为0,则说明找到了路径

返回值:将子问题中是否有复合新目标值的路径层层往上返回

本级任务:每一层需要检查是否到了叶子节点,如果没有则递归进入子节点,同时更新sum值减掉本层的节点值

代码如下:

    bool hasPathSum(TreeNode* root, int sum) {if(root == nullptr) return false;if(root->left==nullptr && root->right==nullptr && sum-root->val==0) return true;return hasPathSum(root->left, sum-root->val) || hasPathSum(root->right, sum-root->val);}

解题思路2:非递归,栈+DFS

我们上面是一步一步减去当前root的值,看最后root为空时,sum的值是否为0,采用递归实现,在此,我们采用走一步加上一步当前节点的值,看最后加和是否满足sum,我们采用栈和深度优先搜索来实现

深度优先搜索:深度优先搜索一般用于树或者图的遍历,其他有分支也适用,它是从初始点开始,一直沿着同一个分支遍历,直到该分支结束,然后回溯到上一级继续沿着一个分支走到底,如此往复,直到所有的节点都有被访问到

具体步骤:

首先检查空节点,若为空树,则返回

使用栈嵌套pair,first记录节点,second记录经过的节点的值的和。根节点及根节点的值先进栈。

遍历的时候判断是否是叶子节点,且和是否等于sum,是则返回true

如果节点有子节点,就入栈,并更新路径和

如果遍历结束也没有找到规定的路径,则返回false,该二叉树中没有符合条件的路径

当到达当前节点时,second中的值已经加过该节点的值了

代码如下:

    bool hasPathSum(TreeNode* root, int sum) {if (root == nullptr) return false;//栈辅助深度优先遍历,并记录到相应节点的路径和stack<pair<TreeNode*, int>> s;//根节点先入栈s.push({root, root->val});while (!s.empty()) {auto temp = s.top();s.pop();//是叶子节点,且路径和等于sumif (temp.first->left == nullptr && temp.first->right == nullptr &&temp.second == sum)return true;//左节点入栈if (temp.first->left != nullptr)s.push({temp.first->left, temp.first->left->val + temp.second});//右节点入栈if (temp.first->right != nullptr)s.push({temp.first->right, temp.first->right->val + temp.second});}return false;}
http://www.yayakq.cn/news/183174/

相关文章:

  • 网站运营工作具体做啥网架公司的名称
  • 温州企业建站系统模板免费网络推广公司
  • 小米手机做网站服务器吗精仿虎嗅网织梦网站模板
  • 申请微官网的网站专业做网站电话
  • php餐饮网站大学网站建设情况汇报
  • 爱ppt网站提供微网站制作电话
  • 企业网站建设研究论文wordpress+icon图标
  • 网站建设后端技术雅虎提交网站入口
  • 合肥企业网站建设哪个好网站开发程序开发
  • 微管家里的微网站怎么建设网站建设商城模板下载
  • 易语言怎么做ifa网站填表自己做商务网站有什么利弊
  • 做网站有免费的服务器吗网页制作基础教程教案
  • 新丰县建设局网站做a短视频网站
  • 企业建设网站的价值网络规划设计师教程第二版
  • 定制营销型网站制作黄山旅游攻略作文
  • 哪家公司做移动网站网站添加微博
  • 帮公司做网站网页制作专用工具
  • 做直播哪个网站好华夏名网网站建设教程
  • 辛集网站建设哪家好想学习做网站
  • 专业网站建设加盟合作制作一个网站需要哪些人
  • 电子商城网站的设计与实现网站建设合同附加协议
  • 山西响应式网站建设设计北京网站建设58
  • 用rem做移动网站网站后期维护和管理怎么做
  • 网站推广好不好thymeleaf做网站 seo
  • 竹子建站怎么赚钱别的网站可以做弹幕
  • 青岛市建设局网站停工网站建设服务合同 律师
  • 百汇游戏网站开发商怎么建立一个购物网站
  • 整站优化要多少钱火的网站建设明细报价表
  • 网站策划书ppt网页设计结果分析怎么写
  • 专业做律师网站的公司青岛软件公司排名