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

L55--- 257.二叉树的所有路径(深搜)---Java版

1.题目描述

在这里插入图片描述

2.思路

(1)因为是求二叉树的所有路径
(2)然后是带固定格式的
所以我们要把每个节点的整数数值换成字符串数值
在这里插入图片描述
(3)首先先考虑根节点,也就是要满足节点不为空
返回递归的形式dfs(根节点,“”,路径列表的路径)
比如根节点是root=1,所以返回dfs(1,“1”,1)
(4)如果不是根节点(但是也要满足系欸但不为空)
先把每个节点的数字转换成字符串
然后把当前节点是叶子节点的加入到路径列表的路径中
(5)如果不是叶子节点,则要继续遍历
格式就是先根节点-》左节点->再右节点进行递归遍历## 3.代码实现

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> paths=new ArrayList<>();if(root!=null)//根节点不为空{dfs(root,"",paths);//返回根节点,也就是路径}return paths;}private void dfs(TreeNode node,String path,List<String>paths){   if(node!=null){path+=Integer.toString(node.val);//将数字节点的值转换成路径上的字符串数字if(node.left==null&&node.right==null){//如果当前是 叶子节点paths.add(path);//把路劲加入结果列表}else{path+="->";//不是叶子节点,自顶向下遍历,这边的path是字符串dfs(node.left,path,paths);dfs(node.right,path,paths);}}}
}
http://www.lryc.cn/news/378807.html

相关文章:

  • 智慧园区解决方案PPT(53页)
  • Windows安装MySQL(8.0.37)
  • 永磁同步电机驱动死区补偿
  • 智能体合集
  • 智能农业管理系统设计
  • Matlab的Simulink系统仿真(simulink调用m函数)
  • C语言中操作符详解(一)
  • 【论文阅读】Multi-Camera Unified Pre-Training via 3D Scene Reconstruction
  • 深入了解NumPy的原理与使用
  • Linux Centos 环境下搭建RocketMq集群(双主双从)
  • 全网最全postman接口测试教程和项目实战~从入门到精通
  • 【ARM】MDK Debug模式下Disassembly窗口介绍
  • 灵活的招聘管理系统有五种方法帮助成功招聘
  • 美摄科技匿名化处理解决方案,包含模糊、同色、马赛克、效果遮挡等各种形式
  • O2OA的数据库数据库配置-使用不同用户访问Oracle时报错-表或视图不存在
  • leetcode56 合并区间
  • Elasticsearch扩展性探索:水平扩展与集群管理
  • node版本过高出现ERR_OSSL_EVP_UNSUPPORTED错误
  • 不得不看的AI前沿理论与技术: LLM-Assisted Light大模型
  • 流行跨链桥总结
  • 代理网络基础设施 101:增强安全性、速度和可扩展性
  • 小游戏app看广告app开发案例
  • VOC数据集
  • [Linux内核驱动]内存动态申请
  • 在Worpress增加网站的二级目录,并转向到站外网站
  • torch.max函数
  • “打造智能售货机系统,基于ruoyi微服务版本开源项目“
  • LeetCode347:前K个高频元素
  • 2.线上论坛项目
  • Java面试题:讨论synchronized关键字和java.util.concurrent包中的同步工具,如Lock和Semaphore