当前位置:网站首页>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

边栏推荐
- 【stack】【queue】【priority_queue】【deque】Detailed explanation
- TF generates uniformly distributed tensor
- APP automation test framework - UiAutomator2 introductory
- The overall construction process of the Tensorflow model
- 蔚来杯2022牛客暑期多校训练营7 CFGJ
- Word怎么制作一张标准的答题卡?
- Use convert_to_tensor in Tensorflow to specify the type of data
- knn到底咋回事?
- Use zeros(), ones(), fill() methods to generate data in TF
- POWER SOURCE ETA埃塔电源维修FHG24SX-U概述
猜你喜欢
随机推荐
Tensorflow中使用convert_to_tensor去指定数据的类型
knn到底咋回事?
Cookie, session, token
Word怎么设置图片衬于文字下方?两种方法教你设置Word图片衬于文字下方
Synchronization lock synchronized traces the source
数独 | 回溯-7
The kvm virtual machine cannot be started, NOT available, and the PV is larger than the partition
自监督学习 —— MoCo v2
laravel 表迁移报错[通俗易懂]
Use zeros(), ones(), fill() methods to generate data in TF
2022 首期线下 Workshop!面向应用开发者们的数据应用体验日来了 | TiDB Workshop Day
Leetcode 93 复原IP地址
【泛型编程】模板全详解
TF generates uniformly distributed tensor
LoRa无线技术在物联网应用市场的概况和发展
几种绘制时间线图的方法
什么是源文件?
hdu 1503 Advanced Fruits(最长公共子序列的应用)
NetCore路由的Endpoint模式
PMP每日一练 | 考试不迷路-8.9(包含敏捷+多选)









