面试算法-126-二叉树的所有路径

题目

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

叶子节点 是指没有子节点的节点。

示例 1:

输入:root = [1,2,3,null,5]

输出:["1->2->5","1->3"]

java 复制代码
class Solution {
    public List<String> binaryTreePaths(TreeNode root) {
        List<String> result = new ArrayList<>();
        LinkedList<String> path = new LinkedList<>();
        dfs(root, path, result);
        return result;

    }

    public void dfs(TreeNode root, LinkedList<String> path, List<String> result) {
        if (root == null) {
            return;
        }

        path.add(String.valueOf(root.val));

        if (root.left == null && root.right == null) {
            result.add(String.join("->", path));
        }
        dfs(root.left, path, result);
        dfs(root.right, path, result);
        path.removeLast();
    }
}
相关推荐
敲敲了个代码11 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
tang&12 小时前
滑动窗口:双指针的优雅舞步,征服连续区间问题的利器
数据结构·算法·哈希算法·滑动窗口
liang_jy12 小时前
Android LaunchMode
android·面试
拼命鼠鼠12 小时前
【算法】矩阵链乘法的动态规划算法
算法·矩阵·动态规划
LYFlied12 小时前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
式51612 小时前
线性代数(八)非齐次方程组的解的结构
线性代数·算法·机器学习
橘颂TA13 小时前
【剑斩OFFER】算法的暴力美学——翻转对
算法·排序算法·结构与算法
叠叠乐13 小时前
robot_state_publisher 参数
java·前端·算法
hweiyu0014 小时前
排序算法:冒泡排序
算法·排序算法
brave and determined14 小时前
CANN训练营 学习(day9)昇腾AscendC算子开发实战:从零到性能冠军
人工智能·算法·机器学习·ai·开发环境·算子开发·昇腾ai