算法-二叉树篇10-二叉树的所有路径

devtools/2025/2/27 19:06:19/

二叉树的所有路径

力扣题目链接

题目描述

给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径。
叶子节点 是指没有子节点的节点。
示例 1:
在这里插入图片描述

输入:root = [1,2,3,null,5]
输出:[“1->2->5”,“1->3”]

解题思路

这道题目还是很有意思的,一开始我打算用栈来辅助遍历二叉树的,但是我预估了一下操作应该比较复杂,所以还是采用了递归的方法来解这道题目。
首先我们需要明白,在遍历树的时候,需要保存该树到根节点的路径并传给子树,知道叶子节点然后把该路径存入答案数组中;
你们我们把当前路径和答案数组都传入方法中给子树处理;
这里需要注意,答案数组的生命周期不是递归时一个函数的生命周期,而是存在整个过程中的,所以需要引用传参传入子方法中。

题解

class Solution {
public:void func(TreeNode* root, string curpath, vector<string>& ans){if(root){curpath += to_string(root->val);if(root->left){func(root->left, curpath + "->", ans);}if(root->right){func(root->right, curpath + "->", ans);}if(!root->left && !root->right){ans.push_back(curpath);}}}vector<string> binaryTreePaths(TreeNode* root) {vector<string> ans;func(root, "", ans);return ans;}
};

总结

这里其实就是引用传参可以很多同学不太熟悉所以难以想出解法,其他的地方都是比较常规的内容。


http://www.ppmy.cn/devtools/163137.html

相关文章

rust安装教程以及git连接到远程仓库

1.官方网站下载rustup-init程序 链接: rust-lang 从这里可以获取到rust的下载程序,这个下载程序会帮助你下载visual-studio的安装包从而获取相关的编译环境。 tips:无需再下载visual_studio 2确认安装所需要的框架&#xff0c;SKD工具 安装完毕之后可以检查一下 rustc --ve…

【前端】【面试】【功能函数】写一个JavaScript树形结构操作函数:`filter` 与 `forEach`

写一个JavaScript树形结构操作函数&#xff1a;filter 与 forEach 在JavaScript开发中&#xff0c;处理树形结构数据是一项常见的任务。本文将详细介绍两个用于操作树形结构数据的函数&#xff1a;filter 和 forEach&#xff0c;包括它们的功能、使用方法以及具体示例。 1. f…

图扑数字孪生:解锁压缩空气储能管控新高度

​在能源转型的关键时期&#xff0c;压缩空气储能凭借其独特优势&#xff0c;成为解决可再生能源间歇性问题、保障可靠能源供应的重要技术。图扑软件&#xff08;Hightopo&#xff09;充分发挥其在 Web 2D&3D 可视化领域的技术专长&#xff0c;打造出先进的数字孪生压缩空气…

springboot413-基于Java高校科技创新项目评审系统的设计与实现(源码+数据库+纯前后端分离+部署讲解等)

&#x1f495;&#x1f495;作者&#xff1a; 爱笑学姐 &#x1f495;&#x1f495;个人简介&#xff1a;十年Java&#xff0c;Python美女程序员一枚&#xff0c;精通计算机专业前后端各类框架。 &#x1f495;&#x1f495;各类成品Java毕设 。javaweb&#xff0c;ssm&#xf…

AcWing 蓝桥杯集训·每日一题2025·密接牛追踪2

密接牛追踪2 农夫约翰有 N 头奶牛排成一排&#xff0c;从左到右依次编号为 1∼N。 不幸的是&#xff0c;有一种传染病正在蔓延。 最开始时&#xff0c;只有一部分奶牛受到感染。 每经过一个晚上&#xff0c;受感染的牛就会将病毒传染给它左右两侧的牛&#xff08;如果有的话…

seacmsv9注入管理员账号密码+orderby+limit

seacmsv9注入管理员账号密码 seacms介绍 海洋影视管理系统&#xff08;seacms&#xff0c;海洋cms&#xff09;是一套专为不同需求的站长而设计的视频点播系统&#xff0c;采用的是 php5.Xmysql 的架构&#xff0c;使用 fofa 搜索可以看到存在 400的记录&#xff1a; 因为sea…

Java注解的原理

目录 问题: 作用&#xff1a; 原理&#xff1a; 注解的限制 拓展&#xff1a; 问题: 今天刷面经&#xff0c;发现自己不懂注解的原理&#xff0c;特此记录。 作用&#xff1a; 注解的作用主要是给编译器看的&#xff0c;让它帮忙生成一些代码&#xff0c;或者是帮忙检查…

论文阅读笔记:Continual Forgetting for Pre-trained Vision Models

论文阅读笔记&#xff1a;Continual Forgetting for Pre-trained Vision Models 1 背景2 创新点3 方法4 模块4.1 问题设置4.2 LoRA4.3 概述4.4 GS-LoRA4.5 损失函数 5 效果6 结论 1 背景 出于隐私和安全考虑&#xff0c;如今从预先训练的视觉模型中删除不需要的信息的需求越来…