zoukankan      html  css  js  c++  java
  • [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
  • 相关阅读:
    深入理解DB2缓冲池(BufferPool)
    收银台采坑总结
    webpack4的总结
    无心法师-讲解
    cache 缓存的处理
    用es6方式的写的订阅发布的模式
    Skeleton Screen -- 骨架屏--应用
    promise实现原理
    业务线移动端适配方案总结
    vdom,diff,key 算法的了解
  • 原文地址:https://www.cnblogs.com/loadofleaf/p/5502369.html
Copyright © 2011-2022 走看看