【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