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

广州企业网站建设装潢设计公司门头

广州企业网站建设,装潢设计公司门头,网上营销型网站,wordpress 文章添加字段一、题目 给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。叶子节点 是指没有子节点的节点。 二、示例 2.1> 示例 1: 【输入】root [5,4,8,11,null,13,4,7,2,null,null,5,1], t…

一、题目

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

二、示例

2.1> 示例 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.2> 示例 2:

【输入】root = [1,2,3], targetSum = 5
【输出】[]

2.3> 示例 3:

【输入】root = [1,2], targetSum = 0
【输出】[]

提示:

  • 树中节点总数在范围 [0, 5000]
  • -1000 <= Node.val <= 1000
  • -1000 <= targetSum <= 1000

三、解题思路

根据题目要求,我们需要寻找N条从根路径到叶子节点的路径,并要求满足该路径节点之和等于targetSum;既然涉及到二叉树节点遍历,常用的就是深度优先算法广度优先算法,那么由于本题涉及从根路径到叶子节点的路径,那么我们可以采用深度优先算法前序遍历对这道题进行解答。

其实本题的一个难点就是如何去拼装最终结果List<List<Integer>> result,那么既然是需要获得满足条件的路径节点值的集合,我们就可以创建一个变量LinkedList<Integer> path,用于记录当前所经过的节点值。那么当我们从根节点遍历到叶子节点之后,会有如下两种情况:

情况1】所有节点总和正好等于targetSum,那么我们通过复制path,然后保存到result中即可。如果还有其他树节点需要遍历,逐一回溯path末尾节点val值。
情况2】所有节点总和不等于targetSum,如果还有其他树节点需要遍历,逐一回溯path末尾节点val值。

需要注意的是,当我们确认某一条路径等于targetSum之后,我们需要“复制”该路径(即:通过new LinkedList(path))否则路径就会随着回溯操作而发生变化了。上面就是具体的解题思路,下面我们还是以输入:root = [5,4,8,11,null,13,4,7,2,null,null,5], targetSum = 22为例,看一下具体的操作过程是怎么样的。请见下图所示:

四、代码实现

class Solution {List<List<Integer>> result;LinkedList<Integer> path;public List<List<Integer>> pathSum(TreeNode root, int target) {result = new LinkedList();path = new LinkedList();dfs(root, target);return result;}public void dfs(TreeNode node, int value) {if (node == null) return;path.addLast(node.val);if (node.val == value && node.left == null && node.right == null) result.add(new LinkedList(path));dfs(node.left, value - node.val);dfs(node.right, value - node.val);path.removeLast(); // 回溯}
}

 今天的文章内容就这些了:

写作不易,笔者几个小时甚至数天完成的一篇文章,只愿换来您几秒钟的 点赞 & 分享 。

更多技术干货,欢迎大家关注公众号“爪哇缪斯” ~ \(^o^)/ ~ 「干货分享,每天更新」

http://www.yayakq.cn/news/143795/

相关文章:

  • 深圳网站建设服务便宜百度直接打开
  • 网站安全建设模板app软件开发培训班
  • 个人网站设计成品做一个信息发布网站要多少钱
  • 免费收录网站大全微信网站需要一个域名要怎么做
  • 建设的网站都是怎么赚钱宿州做网站的公司有哪些
  • 给网站做seo的价格广州番禺有什么好玩的地方
  • 西安互联网网站搭建公司排名flash网页制作实例
  • 建设银行审计招聘网站网站建设的数字化和互联网化
  • 做网站应该学什么语言wordpress淘宝api接口插件
  • 好的摄影网站wordpress 4.0 中文
  • 找网络公司做网站需要注意wordpress分享小图片不
  • 做企业网站用服务器wordpress图片懒加载插件
  • 响水县住房和城乡建设局网站保定seo网络推广
  • wordpress 两个网站wordpress 显示指定文章
  • 成都网站建设公司好做吗网站链接跳转怎么做
  • 中山古镇做网站的公司荣耀手机商城官方网站登录入口
  • 中国空间站组合体江苏建设人才是官方网站
  • 网站建设无形资产的账务处理福州设计企业项目建设管理系统
  • 网站建设与管理自考本站内优化
  • 网站设计用什么软件做的网站设计的安全尺寸
  • 建设网站成本本地网站asp iis
  • 专业福州网站建设全国全屋定制品牌十大排名
  • 内网网站开发费用百度下载安装 官方
  • 哪里有做空包网站的php网站开发实战
  • 网站添加qq聊天淄博有做网站的吗
  • vps设置网站访问用户权限公司宣传页面设计
  • 自学it做网站泰安高端网站建设
  • kesioncms企业网站蓝色模板在家里怎样做网站
  • 西安网站建设陕icp谷歌官网入口
  • 表情包制作网站android开发app实例