LeetCode 剑指 Offer 34. 二叉树中和为某一值的路径

tech2023-07-03  102

Description

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

示例: 给定如下二叉树,以及目标和 sum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ / \ 7 2 5 1 返回: [ [5,4,11,2], [5,8,4,5] ] 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/er-cha-shu-zhong-he-wei-mou-yi-zhi-de-lu-jing-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

Solution

判断空节点和添加路径分开,添加路径不return,在遇到None节点再return。

class Solution: def pathSum(self, root: TreeNode, Sum: int) -> List[List[int]]: res = [] def backtrack(root, track): if not root: return track.append(root.val) if not root.left and not root.right and sum(track)==Sum: res.append(track[:]) backtrack(root.left, track) backtrack(root.right, track) track.pop() backtrack(root, []) return res
最新回复(0)