首页 > 其他分享 >leedcode 路径的和

leedcode 路径的和

时间:2024-02-22 15:13:55浏览次数:23  
标签:node right False 路径 leedcode path stack left

使用迭代:

class Solution:
    def hasPathSum(self, root: Optional[TreeNode], targetSum: int) -> bool:
        # 如果根节点为空,直接返回False
        if not root:
            return False

        # 使用栈来进行迭代,每个元素是一个元组(node, path)
        stack = [(root, [root.val])]

        while stack:
            node, path = stack.pop(0)

            # 如果当前节点是叶子节点
            if not node.left and not node.right:
                print("Path:", path, "Sum:", sum(path))
                # 如果路径和等于目标值,返回True
                if sum(path) == targetSum:
                    return True

            # 处理右子树
            if node.right:
                stack.append((node.right, path + [node.right.val]))

            # 处理左子树
            if node.left:
                stack.append((node.left, path + [node.left.val]))

        # 如果遍历完整个树都没有找到符合条件的路径,返回False
        return False

 

标签:node,right,False,路径,leedcode,path,stack,left
From: https://www.cnblogs.com/yyyjw/p/18027372

相关文章

  • day39 动态规划part2 代码随想录算法训练营 63. 不同路径 II
    题目:63.不同路径II我的感悟:题目不难,就是不知道哪个煞笔,把路拦截死了,并且入口就放石头,我真是吐了。理解难点:初始值的遇到障碍要Break其他我写的没错边界考虑:还有入口和出口有障碍物的话,要直接返回0.听课笔记:差不多,考虑的点就是:初始值后面为break开头和结尾有障......
  • Linux-Source Insight添加系统库路径
    1、在BASE项目下添加Project->OpenProject,打开Base项目2、打开PreferencesProject->Preferences,选择SymbolLookups选项卡3、打开ImportSymbolsforAllProjects4、打开右侧Add按钮,弹出AddExternalSymbols对话框5、打开ImportfromanINCLUDEpath6、将需要添加的......
  • 力扣 dfs之 437. 路径总和 III
    给定一个二叉树的根节点root ,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。 示例1:输入:root=[10,5,-3,3,2,null,11,3,-2,null,1],target......
  • leedcode 二叉树的最小深度
    自己写的:#二叉树节点的定义classTreeNode:def__init__(self,val=0,left=None,right=None):self.val=valself.left=leftself.right=rightclassSolution:defminDepth(self,root:Optional[TreeNode])->int:#......
  • linux 中shell脚本的执行方法对路径的影响
     4种;01、basha.sh02、sha.sh03、.a.sh04、source 前两种会重开shell终端;后两种是本shell;测试如下:001、测试前两种方法;不影响当前路径[root@pc1test1]#lsa.sh[root@pc1test1]#pwd##当前路径/home/test1[root@pc1test1]#cata.sh#......
  • leedcode 平衡二叉树
    对称二叉树走不通  201/228 个通过的测试用例classSolution:defisBalanced(self,root:Optional[TreeNode])->bool:queue=[root]ifnotroot:returnTrueifnotroot.leftandnotroot.right:returnTr......
  • 【算法】【动态规划】最小路径和
    1 题目给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:一个机器人每次只能向下或者向右移动一步。示例1:输入:grid=[[1,3,1],[1,5,1],[4,2,1]]输出:7解释:因为路径1→3→1→1→1的总和最小。示例2......
  • java的getResource方法 总结一下 在Java中获取资源的时候,经常用到getResource和getRes
    java的getResource方法总结一下在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异1.前言在Java中获取资源的时候,经常用到getResource和getResourceAsStream,本文总结一下这两种获取资源文件的路径差异。2.Class.get......
  • 路径规划算法使用说明
    1.基于搜索的(1)Dijkstra:执行命令:cd/home/slam/PathPlanning/Search_based_Planning/Search_2Dpython3Dijkstra.py(2)RTAAStarcd/home/slam/PathPlanning/Search_based_Planning/Search_2Dpython3RTAAStar.py(3)A*python3Astar.py其他算法都可以类似执行python......
  • node - 路径参照物,绝对路径及查看资源方法
     //查看资源状态方法 fs.stat("zzsy.txt",(err,stats)=>{  if(err){   console.log(err); }  console.log(stats);// stats.isFile();//验证是不是文件isFile//验证是不是文件夹isDirectory//});//相对路径参照物:命令行的工作目录//......