当前位置:网站首页>Xiaohei leetcode's refreshing rainy day trip, just finished eating Yufei Beef Noodles, Mala Tang and Beer: 112. Path Sum
Xiaohei leetcode's refreshing rainy day trip, just finished eating Yufei Beef Noodles, Mala Tang and Beer: 112. Path Sum
2022-08-09 23:14:00 【little black invincible】
Black's own solution
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:
self.flag = False
if not root:
return self.flag
def list_path(root,sum_):
sum_ = root.val + sum_
# 判断是否到达叶子结点
if (not root.left) and (not root.right):
#print(sum_)
if sum_ == targetSum:
self.flag = True
if root.left and not self.flag :
list_path(root.left,sum_)
if root.right and not self.flag:
list_path(root.right,sum_)
list_path(root,0)
return self.flag

递归法
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:
if not root:
return False
if (not root.left and not root.right):
return targetSum == root.val
return self.hasPathSum(root.left,targetSum - root.val) or self.hasPathSum(root.right,targetSum - root.val)

广度优先搜索
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right
class Solution:
def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:
if not root:
return False
q_node = deque([root])
q_num = deque([root.val])
# 队列操作
while q_node:
node = q_node.popleft()
num = q_num.popleft()
# node为叶子结点
if (not node.left) and (not node.right):
if num == targetSum:
return True
continue
if node.left:
q_node.append(node.left)
q_num.append(num + node.left.val)
if node.right:
q_node.append(node.right)
q_num.append(num + node.right.val)
return False

边栏推荐
猜你喜欢
随机推荐
hdu 1333 Smith Numbers(暴力思路)
Simple questions peek into mathematics
LeetCode26:删除有序数组中的重复项
Word文档怎么输入无穷大符号∞
The kvm virtual machine cannot be started, NOT available, and the PV is larger than the partition
SQLi-LABS Page-2 (Adv Injections)
Leetcode 93 复原IP地址
【stack】【queue】【priority_queue】【deque】Detailed explanation
MySQL:错误1153(08S01):得到的数据包大于“ max_allowed_packet”字节
Cookie、session、token
蔚来杯2022牛客暑期多校训练营7 CFGJ
《强化学习周刊》第57期:DL-DRL、FedDRL & Deep VULMAN
fixed investment fund
消防安全培训|“蓝朋友”,开课了!
SecureCRT sets the timeout period for automatic disconnection
Cookie, session, token
必看设计干货|易知微设计师是怎么做标准可视化设计服务的?
APP automation test framework - UiAutomator2 introductory
NetCore路由的Endpoint模式
角度和弧度的相互换算









