首页 > 其他分享 >257. 二叉树的所有路径

257. 二叉树的所有路径

时间:2023-12-12 15:14:45浏览次数:29  
标签:getPaths res self 路径 257 二叉树 path root 节点

目录

题目

  • 给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。

题解:前序遍历

class Solution:
    
    def binaryTreePaths(self, root: Optional[TreeNode]) -> List[str]:
        res = []
        self.getPaths(root, '', res)
        return res

    def getPaths(self, root, path, res):
        if not root:
            return
        # 节点值加入当前路径
        path += str(root.val)
        # 如果当前节点是叶子节点,将当前路径加入结果集
        if root.left == None and root.right == None:
            res.append(path)
        # 如果当前节点不是叶子节点,继续遍历左子树和右子树。
        else:
            path += '->'
            self.getPaths(root.left, path, res)
            self.getPaths(root.right, path, res)

标签:getPaths,res,self,路径,257,二叉树,path,root,节点
From: https://www.cnblogs.com/lushuang55/p/17896955.html

相关文章

  • Leetcode刷题day12-二叉树.前中后序遍历
    递归法实现前.中.后序遍历代码随想录(programmercarl.com)解题思路前序遍历:头->左->右中序遍历:左->头->右后序遍历:左->右->头递归法实现流程:1.定义递归函数;2.寻找递归终止条件;3.设计单层递归模块classSolution(): def__init__(self,val=0,left=None,right=None): sel......
  • 226. 翻转二叉树
    目录题目题解:DFS题目给你一棵二叉树的根节点root,翻转这棵二叉树,并返回其根节点。题解:DFSclassSolution:definvertTree(self,root:Optional[TreeNode])->Optional[TreeNode]:#空树,交换左右子树,递归左右子树ifnotroot:return......
  • 113. 路径总和 II(中)
    目录题目题解:回溯题目给你二叉树的根节点root和一个整数目标和targetSum,找出所有从根节点到叶子节点路径总和等于给定目标和的路径。题解:回溯classSolution:defpathSum(self,root:Optional[TreeNode],targetSum:int)->List[List[int]]:res=[......
  • 8.平衡二叉树
    110.平衡二叉树1、概要给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。示例1:给定二叉树[3,9,20,null,null,15,7]和二叉树最大深度有很大区别leetcode中强调的深度和高度很......
  • 7.完全二叉树的节点个数
    222.完全二叉树的节点个数1、概要给出一个完全二叉树,求出该树的节点个数。示例1:输入:root=[1,2,3,4,5,6]输出:6首先按照普通二叉树的逻辑来求。这道题目的递归法(后序)和求二叉树的深度(取MAX)写法类似,而迭代法,遍历模板稍稍修改一下,记录遍历的节点数量就可以了2、思路......
  • svn不上传.net的bin、obj等文件路径
    1、打开svn的setting2、找到通用中的Subversion3、修改以上红框中文本*.o*.lo*.la*.al.libs*.so*.so.[0-9]**.a*.pyc*.pyo__pycache__*.rej*~#*#.#*.*.swp.DS_Store[Tt]humbs.dbbinobj4、修改文本文件5、新增binobj的文件路径 6、点击应用、确......
  • 5.二叉树的最大深度
    104.二叉树的最大深度1、概要给定一个二叉树root,返回其最大深度。二叉树的最大深度是指从根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。可以使用前序求深度,也可以使用后序求高度。二叉树节点的深度:指从根节点到该节点的最长简单......
  • C++U5-09-二叉树2
    二叉树(二)二叉树遍历是一种重要的操作,它在许多应用场景中被广泛使用。以下是一些常见的应用场景:查找和搜索:二叉树遍历可以用于查找特定元素或者进行搜索操作。通过遍历整棵树,可以找到目标元素并进行相应的处理。例如,在二叉搜索树中查找某个特定值,或者在字典树中搜索以某个前缀......
  • 112. 路径总和
    目录题目法一、DFS法二、回溯题目给你二叉树的根节点root和一个表示目标和的整数targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。如果存在,返回true;否则,返回false。法一、DFS判断当前节点是否为叶子节......
  • 111. 二叉树的最小深度
    目录题目完美踩坑题解题目给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。示例1:输入:root=[3,9,20,null,null,15,7]输出:2示例2:输入:root=[2,null,3,null,4,null,5,null,6]输出:5完美踩坑之前好几个题做过求树的高......