1、递归

# 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: TreeNode, targetSum: int) -> bool:# 空节点if not root:return False# 叶子节点if not root.left and not root.right:return targetSum == root.val# 每搜索一个节点从sum中减去节点值return self.hasPathSum(root.left,targetSum-root.val) or self.hasPathSum(root.right,targetSum-root.val)

2、广度优先搜索

使用两个队列:

# 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: TreeNode, targetSum: int) -> bool:if not root:return False# 两个队列,一个存节点,一个存根节点到此节点的节点值之和que_node = collections.deque([root])que_val = collections.deque([root.val])while que_node:node = que_node.popleft()nodeval = que_val.popleft()if not node.left and not node.right:if nodeval == targetSum:return Trueif node.left:que_node.append(node.left)que_val.append(nodeval+node.left.val)if node.right:que_node.append(node.right)que_val.append(nodeval+node.right.val)return False

一个队列:

# 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: TreeNode, targetSum: int) -> bool:if not root:return False# 一个队列存节点以及根节点到此节点的和que_node = collections.deque([(root,root.val)])while que_node:node,nodeval = que_node.popleft()if not node.left and not node.right:if nodeval == targetSum:return Trueif node.left:que_node.append((node.left,nodeval+node.left.val))if node.right:que_node.append((node.right,nodeval+node.right.val))return False

LeetCode 112 路径总和 python3相关推荐

  1. C++描述 LeetCode 112. 路径总和

    C++描述 LeetCode 112. 路径总和   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客,唯一博客更 ...

  2. LeetCode 112. 路径总和 、113. 路径总和 II 思考分析

    目录 112. 路径总和 题目 递归解 递归解,其他人的解法 迭代解,其他人的解法 113. 路径总和 II 题目 递归解 递归解,参考别人的思路 112. 路径总和 题目 给定一个二叉树和一个目标和 ...

  3. leetcode 112路径总和

    leetcode 112 其实leetcode上的题解和评论都很好的,找题解不用到csdn来,我是想把自己做过的题都记录下来才来写这个 class Solution {public:bool hasP ...

  4. 53. Leetcode 112. 路径总和 (二叉树-二叉树路径和)

    给你二叉树的根节点 root 和一个表示目标和的整数 targetSum .判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum .如果存在,返回 tr ...

  5. Leetcode 112. 路径总和 (每日一题 20210910)

    给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum .叶子节点 是指没有子 ...

  6. [leetcode]112.路径总和

    给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum . 叶子节点 是指没有 ...

  7. LeetCode 112路径总和-简单

    给你二叉树的根节点 root 和一个表示目标和的整数 targetSum ,判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum . 叶子节点 是指没有 ...

  8. 49 - 算法 - Leetcode 112 路径总和 -二叉树递归 带参数一起递归

    // 感觉都是那几个固定的格式 寻找临时 单前树 状态输入减小 int sum递减 //树递归 所带的参数也递归减少class Solution {public:bool hasPathSum(Tre ...

  9. LeetCode——113 路径总和 II(JAVA)

    给你二叉树的根节点 root和一个整数目标和 targetSum,找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径. 叶子节点 是指没有子节点的节点. 示例 1: 输入:root = [5, ...

最新文章

  1. torch 多进程队列 问题
  2. python selenium 等待页面加载_python selenium 三种等待方式详解(实战常用)
  3. iOS Xcode4.2代码管理工具的使用
  4. rtmp服务器_nginx+windwos 搭建 rtmp 流媒体服务器
  5. 求职产品经理【十六】笔试真题串讲之百度地图与大数据结合的产品
  6. 2019至今TIOBE编程语言排行榜Top 20,Python完胜C++了吗?
  7. Python中tkinter.filedialog
  8. python之路day5_学习python之路--Day5 计算器
  9. web.xml中配置DispatcherServlet前端控制器和CharacterEncodingFilter字符过滤器后web-app标签显红报错
  10. jmeter根据循环获取参数_Jmeter--同线程组循环获取数据库数据传递请求
  11. 药大保研计算机要求,药物分析专业保研经验贴
  12. Win10台式机前面板耳机无声音,没有Realtek高清晰音频管理器,前置耳机孔无法使用
  13. C语言从入门到精通(第一期之结构框架)
  14. AI在医疗领域的应用 | “AI+传统行业”全盘点
  15. 雨林风一键重装系统_u盘启动盘制作工具-雨林风
  16. 方法解读 | 性染色体Phasing
  17. 疫情之下,这10个技巧助你开启云面试的正确姿势
  18. 服务器系统宕机什么意思,服务器宕机是什么意思?
  19. 在framework下新建系统api
  20. python32位与62位可以随便装吗_电脑32位和64位可以随便换吗???

热门文章

  1. 【课程笔记】李弘毅2020 Deep Learning for Human Language Processing
  2. PHP采集-数据采集PHP采集器
  3. flash特效原理:图片切换滚动
  4. ICIP2021:VVC RPR参考结构改进
  5. L1-040 最佳情侣身高差 (10分)(C语言)
  6. 【SPOJ-TSHOW1】Amusing numbers【二进制】
  7. vue iframe里内容无法撑开高度 固定150px 解决方法
  8. win7计算机本地用户和组,Win7系统找不到本地用户和组的两大解决方案
  9. 塔科夫为什么远程服务器返回错误,逃离塔科夫登陆错误解决教程
  10. 什么是CUDA、什么是GPU?