Java for You 数据结构 剑指Offer之二十五-二叉树中和为某一值的所有路径

剑指Offer之二十五-二叉树中和为某一值的所有路径

题目描述

  • 输入一颗二叉树和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。
  • 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。

解析

  • 先序遍历,将遍历过的结点放到A集合中
  • 当遍历到叶子结点并且和恰好是目标值时,将遍历经过的所有结点放到B集合中,B则是满足题意的一条路径
  • 如果遍历到叶子结点和仍然不等于目标值,那么就移除A集合中添加的结点,修改和,切换到右孩子结点重新计算
  • 如果没有遍历到叶子结点就从孩子结点中继续寻找这样的路径

二叉树定义

代码实现

本文由 java4u.cn 发布,可自由转载、引用,但需署名作者且注明文章出处(作者:白色蜗牛,出处:java4u.cn)。如转载至微信公众号,请在文末添加作者公众号二维码。 https://java4u.cn/algorithms/3332.html

作者: 蜗牛

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

联系我们

公众号:蜗牛互联网

在线咨询: QQ交谈

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部