码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-05-17 17:51:38      阅读:1140      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!