「这是我参与11月更文挑战的第19天,活动详情查看:2021最后一次更文挑战」。
路径总和 II
题目描述:给你二叉树的根节点 root 和一个整数目标和 targetSum ,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。
叶子节点 是指没有子节点的节点。
示例说明请见LeetCode官网。
来源:力扣(LeetCode)
链接:leetcode-cn.com/problems/pa…
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
解法一:层序遍历
用
Queue<Pair<TreeNode, Pair<Integer, List<Integer>>>>
这种结构来记录当前节点的路径以及路径和,其中:
- 外层的Pair的key为当前节点;
- 内层的Pair的key为当前路径的总和,value为当前路径的记录,从根节点到当前节点。
然后使用层序遍历的方式使用队列遍历二叉树的节点,当判断某节点的左右节点为空,即为叶子节点,然后判断当前的路径值是否与targetSum相等,如果相等,将相应的路径添加到结果集中。
最后,返回结果集。
1 | java复制代码import com.kaesar.leetcode.TreeNode; |
【每日寄语】 命运,不过是失败者无聊的自慰,不过是懦怯者的解嘲。人们的前途只能靠自己的意志、自己的努力来决定。
本文转载自: 掘金