当前位置: 首页 > news >正文

257. 二叉树的所有路径

题目

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。
叶子节点 是指没有子节点的节点。
示例 1:
在这里插入图片描述
输入:root = [1,2,3,null,5]
输出:[“1->2->5”,“1->3”]
示例 2:
输入:root = [1]
输出:[“1”]
提示:

树中节点的数目在范围 [1, 100] 内
-100 <= Node.val <= 100

思路

这个题目对于我来说,使用常规的而是二叉树的遍历思路就可以了。
但是需要总结的是列表的使用方式,在java中怎么操作列表,这些虽然是基础,但是你不知道的话,算法可能就是一个思路,顶多写一个伪代码处理,真正落地的代码还是有困难的。

代码

在这里插入代码片
class Solution {

    //采用非LinkedList存储遍历的路径和最终结果
    LinkedList<String> path = new LinkedList<>();
    LinkedList<String> res = new LinkedList<>();
    
    public List<String> binaryTreePaths(TreeNode root) {
        //采用递归函数解决
        //明确递归函数要解决的代码逻辑
        traverse(root);
        return res;
    }

    void traverse(TreeNode root){

        if(root == null){
            return;
        }

        if(root.left == null && root.right == null){

            path.addLast(root.val+"");

            res.addLast(String.join("->",path));

            path.removeLast();

            return;
        }

        //前序的位置是添加
        path.addLast(root.val+"");

        traverse(root.left);
        traverse(root.right);

        //后续的位置是删除
        path.removeLast();

    }
}

LinkedList的常用方法

添加元素:add地哦啊链表末尾
在指定位置插入元素:add(index,e)
将元素添加到链表头部:addFirst()
将元素添加到链表尾部:addLast()

删除斌返回头部元素:remove()
删除指定索引的元素
删除并返回链表头部的的元素
删除并并返回链表尾部的元素

返回指定位置的元素:get()
返回链表头部的元素
返回链表尾部的元素

替换指定位置的元素:set(index,e);
返回指定元素出现的第一次索引:indexOf
返回指定元素最后一出现的缩影:
判断脸小中是否包含指定元素:contains();

size()
isEmpty()

相关文章:

  • 一文读懂Ingress-Nginx以及实战教程
  • 词袋模型 (BOW) 解析及代码实战
  • 华为支付-商户基础支付场景准备
  • MongoDB 入门操作指南
  • 有哪些滤波,原理是什么,分别在什么时候用
  • 模糊数学模型:基础概念
  • DeepSeek 助力 Vue 开发:打造丝滑的卡片(Card)
  • 基于SpringBoot+uniapp的在线办公小程序+LW示例参考
  • 2025 docker可视化管理面板DPanel的安装
  • 如何使用CSS画一个三角形,原理是什么?
  • HarmonyOS:使用List实现分组列表(包含粘性标题)
  • 算法18(力扣136)只出现一次的数字
  • Huggingface加载阅读理解任务数据集至本地
  • 深度学习项目--基于RNN的阿尔茨海默病诊断研究(pytorch实现)
  • Node.js技术原理分析系列——Node.js调试能力分析
  • pycharm ai插件
  • 【人工智能】如何选择合适的大语言模型,是能否提高工作效率的关键!!!
  • 【学术投稿-第四届智能电网和绿色能源国际学术会议(ICSGGE 2025)】CSS基本选择器详解:掌握基础,轻松布局网页
  • ML.NET库学习006:成人人口普查数据分析与分类预测
  • AI 编程私有化部署,在使用 cline 时,可能无法避免私隐的泄漏问题
  • 做调查的网站‘/搜狗收录查询
  • 怎么判断网站是不是模板做的/商城全网推广运营公司
  • 上海网站建设网站制/推广品牌的方法
  • 中国做b2b外贸的网站/企业文化培训
  • 上海平台网站制作公司哪家好/网站模板下载免费
  • 做网站代码用什么软件/bt kitty磁力猫