二叉树中和为某一值的路径
题目描述
输入一颗二叉树的根节点和一个整数,按字典序打印出二叉树中结点值的和为输入整数的所有路径。路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。
解答
递归法
# coding:utf-8
class Solution: # 返回二维列表,内部每个列表表示找到的路径 def FindPath(self, root, expectNumber): # write code here if root == None: return [] result = [] self.sums = expectNumber self.Sums(root, result, [root.val]) return result def Sums(self, root, result, path): if root.left == None and root.right == None and sum(path) == self.sums: result.append(path) if root.left: self.Sums(root.left, result, path + [root.left.val]) if root.right: self.Sums(root.right, result, path + [root.right.val])
结束!
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步