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

临颍网站建设wordpress 默认主题站点

临颍网站建设,wordpress 默认主题站点,安全联盟可信任网站认证 网站,邵阳汽车网站建设路径总和 链接 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点…

路径总和

链接
给你二叉树的根节点 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
解释:由于树是空的,所以不存在根节点到叶子节点的路径。

递归法

  1. 返回值和参数
    返回值:就是搜索所有路径,不用处理返回值,所以bool
    参数:节点,路径和
bool traversal(TreeNode* cur,int sum)
  1. 终止条件
    到叶子节点,值等于和不等于
        if(cur->left==NULL && cur->right==NULL && sum==targetSum) return true;if(cur->left==NULL && cur->right==NULL && sum!=targetSum) return false;
  1. 单次递归
        sum+=cur->val;//写在判断前,就不需要回溯将sum-=cur->val,此处sum值不影响其他递归的sum值if(cur->left==NULL && cur->right==NULL && sum==targetSum) return true;//判断叶子节点if(cur->left==NULL && cur->right==NULL && sum!=targetSum) return false;//判断叶子节点if(cur->left) if(traversal(cur->left,sum,targetSum))return true;if(cur->right) if(traversal(cur->right,sum,targetSum)) return true;return false;

详细写

        if(cur->left) {sum+=cur->left->val;if(traversal(cur->left,sum,targetSum))return true;sum-=cur->left->val;}if(cur->right)        {sum+=cur->right->val;if(traversal(cur->right,sum,targetSum))return true;sum-=cur->right->val;}

在这里插入图片描述

sum计算的是一个子节点的值,判断子节点是否符合,不符合sum值要回溯的
如:函数参数的节点输入为1,处理左子节点2,sum+2,判断是否符合,不符合sum-2,这种记得中要加一下,看下面第二个代码

代码

class Solution {
public:bool traversal(TreeNode* cur,int sum,int targetSum){if(cur==NULL) return false;sum+=cur->val;if(cur->left==NULL && cur->right==NULL && sum==targetSum) return true;if(cur->left==NULL && cur->right==NULL && sum!=targetSum) return false;if(cur->left) if(traversal(cur->left,sum,targetSum))return true;if(cur->right) if(traversal(cur->right,sum,targetSum)) return true;return false;}bool hasPathSum(TreeNode* root, int targetSum) {int sum=0;return traversal(root,sum,targetSum);}
};
class Solution {
public:bool traversal(TreeNode* cur,int sum,int targetSum){if(cur==NULL) return false;// sum+=cur->val;if(cur->left==NULL && cur->right==NULL && sum==targetSum) return true;if(cur->left==NULL && cur->right==NULL && sum!=targetSum) return false;if(cur->left) {sum+=cur->left->val;if(traversal(cur->left,sum,targetSum))return true;sum-=cur->left->val;}if(cur->right)        {sum+=cur->right->val;if(traversal(cur->right,sum,targetSum))return true;sum-=cur->right->val;}return false;}bool hasPathSum(TreeNode* root, int targetSum) {int sum=0;if(root!=NULL) sum=root->val; //用详细的,中间节点就没有计算了,要加上去return traversal(root,sum,targetSum);}
};
http://www.yayakq.cn/news/458222/

相关文章:

  • 梧州网站优化公司怎么黑掉织梦做的网站
  • 沽源网站建设我有域名有服务器怎么建设网站
  • 建站公司怎么获客青岛做一个网站多少钱
  • 广安网站建设哪家好江门网站建设公司
  • 怎么在濮阳网站做宣传流程图软件
  • 石家庄网站建设今天改网名论述网站建设整个流程
  • 网上做任务挣钱的网站软件外包行业
  • 东莞网站建设公司口碑排名计算机网站建设论文总结
  • 电子商务网站建设的步骤一般为(怎么做网站记者
  • 企业公司网站建设ppt番禺建设局网站
  • 站长工具高清无吗网站建设方案打包
  • 手机电子商务网站建设wordpress admin 500
  • 承德市宽城县建设局网站房地产公司如何做网站
  • 苏州市住房和城乡建设局投折网站织梦网站栏目无法生成
  • seo如何优化网站推广h5页面制作软件下载
  • 北京南站到北京站坐地铁几号线网站缩略图尺寸
  • 一家装修的网站怎么做网站建设及优化 赣icp
  • 商城网站设计配色思想十大网站建设
  • 苏州网站推广排名国外平面设计教程网站
  • 制作公司网站需要那些资料各类服装网站建设
  • 网站流量检测深圳宝安区繁华吗
  • 惠州市seo网站设计苏州注册网络公司价格
  • 收废品做网站怎么做美容类 营销型网站
  • 台州网站建设公司哪个好linux wordpress 域名
  • 四川华地建设工程公司网站网站设计有哪些公司
  • 程序员会搭建非法网站吗做网站的框架有
  • 织梦网站更改免费空间申请方法
  • 网站排名如何提升网站建设推荐
  • 武平县网站建设wordpress 小视频插件
  • 靖江 建设局网站cms免费