当前位置:网站首页>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
边栏推荐
- AI+医疗:使用神经网络进行医学影像识别分析
- 消防安全培训|“蓝朋友”,开课了!
- TF中random.normal()与random.truncated_normal()
- Word第一页不要页眉怎么设置?设置Word首页不要页眉方法教程
- 【云原生】4.2 DevOps 精讲篇
- ACM MM 2022 | Cloud2Sketch: Painting with clouds in the sky, AI brush strokes
- 场效应管Mosfet之雷卯Leiditech对应英飞凌Infineon
- 宝塔实测-搭建LightPicture开源图床系统
- cad图纸怎么复制到word文档里面?Word里插CAD图怎么弄?
- ACM MM 2022 | Cloud2Sketch: 长空云作画,AI笔生花
猜你喜欢
XXE-XML外部实体注入-知识点
Word第一页空白页怎么删除?删除Word第一页空白页方法教程
【云原生】4.2 DevOps 精讲篇
CVPR22 Oral | shunt through multi-scale token polymerization from attention, code is open source
《强化学习周刊》第57期:DL-DRL、FedDRL & Deep VULMAN
[corctf 2022] section
AI识万物:从0搭建和部署手语识别系统
Word怎么制作双面席卡?使用Word制作双面席卡方法
Skywalking系列学习之Trace Profiling源码分析
Word第一页不要页眉怎么设置?设置Word首页不要页眉方法教程
随机推荐
《强化学习周刊》第57期:DL-DRL、FedDRL & Deep VULMAN
凸集与凸函数
SecureCRT背景配色
cad图纸怎么复制到word文档里面?Word里插CAD图怎么弄?
【stack】【queue】【priority_queue】【deque】Detailed explanation
RHEL7系统修复rm -rf /boot /etc/fstab
重要的不是成为海贼王,而是像路飞一样去冒险
ACM MM 2022 | Cloud2Sketch: Painting with clouds in the sky, AI brush strokes
The kvm virtual machine cannot be started, NOT available, and the PV is larger than the partition
Shanghai Konan SmartRocket series product introduction (3): SmartRocket iVerifier computer interlocking system verification tool
10个 Istio 流量管理 最常用的例子,你知道几个?
什么是IDE(集成开发环境)?
SQLi-LABS Page-2 (Adv Injections)
Don't tell me to play, I'm taking the PMP exam: what you need to know about choosing an institution for the PMP exam
LoRa无线技术在物联网应用市场的概况和发展
【stack】【queue】【priority_queue】【deque】详解
6个规则去净化你的代码
AI Knows Everything: Building and Deploying a Sign Language Recognition System from Zero
NetCore路由的Endpoint模式
leetcode: the Kth largest element in the array