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

边栏推荐
- How to deal with keys when Redis is large?
- C语言之实现倒置字符串的两种方法
- Word第一页空白页怎么删除?删除Word第一页空白页方法教程
- DSPE-PEG-PDP, DSPE-PEG-OPSS, phospholipid-polyethylene glycol-mercaptopyridine reduce the immunogenicity of peptides
- Jmeter 使用正则表达式提取器将返回值全部保存到一个文件中
- 基于Docker构建MySQL主从复制数据库
- Access Characteristics of Constructor under Inheritance Relationship
- 没有 accept,我可以建立 TCP 连接吗?
- 安科瑞支持以太网通讯、profibus通讯嵌入式电能表APM指导性技术要求-Susie 周
- Word怎么制作一张标准的答题卡?
猜你喜欢
随机推荐
C语言预处理命令是什么?
消防安全培训|“蓝朋友”,开课了!
hdu 1333 Smith Numbers(暴力思路)
C语言之实现倒置字符串的两种方法
Interviewer: How to deal with Redis big key?
Two methods of implementing inverted strings in C language
Win11搜索不到文件的解决方法
线段相交的应用
别叫我玩,我要考PMP:考PMP选择机构需要了解的那些事儿
【图文并茂】如何进行Win7系统的重装
【泛型编程】模板全详解
supervisor 命令操作大全「建议收藏」
基于模糊PID控制器的水温控制系统仿真
DSPE-PEG-Silane,DSPE-PEG-SIL,磷脂-聚乙二醇-硅烷修饰二氧化硅颗粒用
Can I make a TCP connection without accept?
Jensen (琴生) 不等式
Application of Acrel5000web Energy Consumption System in a College-Susie Week
Definition and Basic Operations of Sequence Tables
【Efficient Tools】Remote Control Software ToDesk (Favorites)
[Deep learning] pix2pix GAN theory and code implementation









