本文最后更新于:2023年3月19日 晚上
Lt113. 路径总和 II
给定一个二叉树和一个目标和,找到所有从根节点到叶子节点路径总和等于给定目标和的路径。
说明: 叶子节点是指没有子节点的节点。
示例:
给定如下二叉树,以及目标和 sum = 22
,
1 2 3 4 5 6 7
| 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1
|
返回:
1 2 3 4
| [ [5,4,11,2], [5,8,4,5] ]
|
思路
每日一题,LeetCode 回溯月。dfs 求根节点路径,如果是根节点,再判断 temp 数组求和是否等于 sum 即可。
解答
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
var pathSum = function (root, sum) { const res = []; const temp = []; const visit = (root) => { if (!root) return; temp.push(root.val); if (!root.left && !root.right && temp.reduce((a, b) => a + b) === sum) { res.push([].concat(temp)); temp.pop(); return; } visit(root.left); visit(root.right); temp.pop(); }; visit(root); return res; };
|