zoukankan      html  css  js  c++  java
  • 【leetcode❤python】 112. Path Sum

    #-*- coding: UTF-8 -*-
    # Definition for a binary tree node.
    # class TreeNode(object):
    #     def __init__(self, x):
    #         self.val = x
    #         self.left = None
    #         self.right = None

    class Solution(object):
        sumList=[]
        def dfs(self,root):
            curSum=self.sumList[-1]
            
            if root.left!=None or root.right!=None:self.sumList.pop()
            else:return
            
            if root.left!=None:
                valsum=curSum+root.left.val
                self.sumList.append(valsum)
                self.dfs(root.left)
            if root.right!=None:
                valsum=curSum+root.right.val
                self.sumList.append(valsum)
                self.dfs(root.right)
       
        def hasPathSum(self, root, sum):
            """
            :type root: TreeNode
            :type sum: int
            :rtype: bool
            """
            self.sumList=[]
            if root==None:return False
            else:
                self.sumList.append(root.val)
                self.dfs(root)
                if self.sumList.__contains__(sum):
                    return True
            return False

  • 相关阅读:
    我给老师发的邮件
    [LeetCode]Sum Root to Leaf Numbers
    [LeetCode]Binary Tree Inorder Traversal
    [LeetCode]Merge Sorted Array
    [LeetCode]Unique Paths II
    [LeetCode]Unique Paths
    [LeetCode]Sort Colors
    [LeetCode]Balanced Binary Tree
    [LeetCode]Valid Palindrome
    [LeetCode]Binary Tree Maximum Path Sum
  • 原文地址:https://www.cnblogs.com/kwangeline/p/6059528.html
Copyright © 2011-2022 走看看