当前位置:网站首页>小黑leetcode清爽雨天之旅,刚吃完宇飞牛肉面、麻辣烫和啤酒:112. 路径总和
小黑leetcode清爽雨天之旅,刚吃完宇飞牛肉面、麻辣烫和啤酒:112. 路径总和
2022-08-09 21:35:00 【小黑无敌】
小黑自己的解法
# 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

边栏推荐
猜你喜欢

matlab 神经网络 ANN 分类

MySQL, which is asked on both sides of the byte, almost didn't answer well

Word怎么设置图片衬于文字下方?两种方法教你设置Word图片衬于文字下方

windos安装Mysql8.0,及解决重新登录异常问题 ERROR 1045 (28000)

QGIS编译SIP的问题

获取数组最后一项别再用array.length-1了

Number of daffodils within a thousand

tki-tree 树组件控制默认展开第几层数据

CMake 安装升级更高版本

数据集成API如何成为企业数字化转型的关键?
随机推荐
An overall security understanding and method of cyberspace based on connection and security entropy
继承关系下构造方法的访问特点
visual studio 2022调试技巧介绍
PMP每日一练 | 考试不迷路-8.8(包含敏捷+多选)
线段相交的应用
SqlServer 2016 安装相关问题
基于光通信的6G水下信道建模综述
DSPE-PEG-Silane, DSPE-PEG-SIL, phospholipid-polyethylene glycol-silane modified silica particles
【图文并茂】如何进行Win7系统的重装
倍福CX5120实现温度控制例程详细解析
MySQL跨表、多表更新SQL语句总结
CMake installation upgrade higher version
Access Characteristics of Constructor under Inheritance Relationship
Week 8 Deep learning for object detection
What are the benefits of enterprise data integration?How do different industries solve the problem of data access?
supervisor 命令操作大全「建议收藏」
阿里二面:没有 accept,能建立 TCP 连接吗?
蓝牙模块的分类和对应的属性特点
C语言中的文件是什么?
安科瑞无线物联网智能电表ADW300指导性技术要求-Susie 周