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

Posted loadofleaf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[LeetCode]题解(python):113 Path Sum II相关的知识,希望对你有一定的参考价值。

题目来源


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的主要内容,如果未能解决你的问题,请参考以下文章

113路径总和II

LeetCode第113题—路径总和II—Python实现

Leetcode刷题Python113. 路径总和 II

《LeetCode之每日一题》:113.最短无序连续子数组

题解「AT4266」[ABC113B] Palace

[LeetCode]题解(python):100 Same Tree