首页 > 编程语言 > 详细

[LeetCode]题解(python):113 Path Sum II

时间:2016-05-17 17:51:28      阅读:132      评论:0      收藏:0      [点我收藏+]

题目来源


https://leetcode.com/problems/path-sum-ii/

Given a binary tree and a sum, find all root-to-leaf paths where each path‘s sum equals the given sum.


题意分析


Input: a binary tree, sum

Output: list of list.

Conditions: 给定一个二叉树,将所有root-leaf的路径值和等于sum的路径返回。


题目思路


通过一个valuelist传递。dfs递归


AC代码(Python)

 1 # Definition for a binary tree node.
 2 # class TreeNode(object):
 3 #     def __init__(self, x):
 4 #         self.val = x
 5 #         self.left = None
 6 #         self.right = None
 7 
 8 class Solution(object):
 9     def pathSum(self, root, sum):
10         """
11         :type root: TreeNode
12         :type sum: int
13         :rtype: List[List[int]]
14         """
15         def dfs(root, currsum, valuelist):
16             if root.left == None and root.right == None:
17                 if currsum == sum: res.append(valuelist)
18             if root.left:
19                 dfs(root.left, currsum+root.left.val, valuelist+[root.left.val])
20             if root.right:
21                 dfs(root.right, currsum+root.right.val,valuelist+[root.right.val])
22         
23         res = []
24         if root ==None: return res
25         dfs(root, root.val, [root.val])
26         return res

 

[LeetCode]题解(python):113 Path Sum II

原文:http://www.cnblogs.com/loadofleaf/p/5502369.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!