113. 路径总和 II

技术113. 路径总和 II 113. 路径总和 II113. 路径总和 II
题目链接:113. 路径总和 II(中等)
给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有

113.路径总和二

113. 路径总和 II

题目链接:113.路径总和二(中等)

给你二叉树的根节点根和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。

叶子节点是指没有子节点的节点。

示例 1:

输入:root=[5,4,8,11,null,13,4,7,2,null,null,5,1],targetSum=22

输出:[[5,4,11,2],[5,8,4,5]]

示例 2:

输入:root=[1,2,3],targetSum=5

输出:[]

示例 3:

输入:root=[1,2],targetSum=0

输出:[]

解题思路

该题与112.路径总和类似,不一样的是该题需要遍历完所有的路径。

递归法

代码(C++)

//递归

解决方案类{

公众号:

空的遍历(TreeNode* node,矢量路径,矢量结果,int计数){ 0

if(!节点-左边!节点-右侧){ 0

if (count==0) result.push_back(路径);

返回;

}

如果(左节点){ 0

路径。push _ back(node-left-val);

count-=node-left-val;

遍历(左节点、路径、结果、计数);//递归

计数=节点-左-瓦尔;//回溯

路径。pop _ back();//回溯

}

如果(节点-右侧){ 0

路径。push _ back(node-right-val);

count-=node-right-val;

遍历(右节点、路径、结果、计数);//递归

count=node-right-val;//回溯

路径。pop _ back();//回溯

}

}

vectorvectorntpathsum(TreeNode * root,int TargetSum){ 0

向量向量结果;

if (root==nullptr)返回结果;

向量路径;

路径。push _ back(root-val);

遍历(根、路径、结果、TargetSum-root-val);

返回结果;

}

};

代码(JavaScript)

/**

* @param {TreeNode}根目录

* @param {number} targetSum

* @return {number[][]}

*/

函数遍历(节点、路径、结果、计数){ 0

if(!节点。左边!节点。右){ 0

if (count===0) result.push([.路径]);//不能写结果。推送(路径),要深拷贝

返回;

}

if(节点。左){ 0

路径。push(节点。向左。val);

count-=节点。向左。瓦尔;

遍历(node.left,path,result,count);//递归

计数=节点。向左。瓦尔;//回溯

路径。pop();//回溯

}

if(节点。右){ 0

路径。push(节点。没错。val);

count-=节点。没错。瓦尔;

遍历(node.right,path,result,count);//递归

计数=节点。没错。瓦尔;//回溯

路径。pop();//回溯

}

返回错误的

}

var pathSum=函数(根,TargetSum){ 0

让结果=[];

if (root===null)返回结果;

让路径=[];

路径。push(root。val);

遍历(根、路径、结果、TargetSum-root。val);

返回结果;

};

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/141438.html

(0)

相关推荐

  • MongoDB的本质及怎么进行安装配置

    技术MongoDB的本质及怎么进行安装配置这期内容当中小编将会给大家带来有关MongoDB的本质及怎么进行安装配置,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。如果你从来没有接触Mon

    攻略 2021年11月3日
  • 如何重新安装COM

    技术如何重新安装COM这篇文章主要介绍了如何重新安装COM,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。  1.在Windows桌面上,单击“开始”,然后

    攻略 2021年12月8日
  • redis中RedissonLock如何实现等待锁

    技术redis中RedissonLock如何实现等待锁今天就跟大家聊聊有关redis中RedissonLock如何实现等待锁,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有

    攻略 2021年11月11日
  • 女作家排行榜,当代女作家你最喜欢谁的作品

    技术女作家排行榜,当代女作家你最喜欢谁的作品文无第一武无第二女作家排行榜,说最喜欢谁真的不好说。
    推荐下林奕含吧,前段时间因为XX案件,她的作品《房思琪的初恋乐园》又一次火了起来。
    “我宁愿我是一个媚俗的人,我宁愿无知,

    生活 2021年10月30日
  • c++面试题(c++用什么软件编程)

    技术如何利用上下文属性将 C++ 对象嵌入 QML 里本篇文章为大家展示了如何利用上下文属性将 C++ 对象嵌入 QML 里,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、设置

    攻略 2021年12月15日
  • Spring框架访问数据库的两种方式的小案例

    技术Spring框架访问数据库的两种方式的小案例 Spring框架访问数据库的两种方式的小案例1.1 以Xml的方式访问数据库的案例
    要以xml的方式访问数据库需要用到JdbcTemplate ,因为

    礼包 2021年10月19日