Binary tree paths-深度优先遍历DFS
题目:
Binary tree path
- English:
Given a binary tree, return all root-to-leaf paths.
For example, given the following binary tree:
1
/ \
2 3
\
5
All root-to-leaf paths are:
[“1->2->5”, “1->3”]
- 中文:
给定一棵二叉树,返回所有根到叶的路径。
例如,给定以下二叉树:
1
/ \
2 3
\
5
所有根到叶路径是:
[“1->2->5”, “1->3”]
- 分析思路:
按深度优先的顺序遍历整个树,当遍历到叶节点的时候记录答案
定义全局变量记录答案,这样不用每次都传参
path:根节点到当前节点的路径
- 代码:
/*Definition for a binary tree node.
struct TreeNode{int val;TreeNode *left;TreeNode *right;TreeNode(int x):val(x),left(NULL),right(NULL){}
};
*/class Solution{public://string to_string (int val);vector<string> ans; //记录所有方案 vector<string> binary TreePaths(TreeNode* root){string path; //记录中间结果 dfs(root,path);return ans;}void dfs(TreeNode* root,string path){if(!root) //空树,没有节点 return;if(path.size()) path +="->"; //若不为空,加-> path+=to_string(root->val); //将当前节点加入path if(!root->left&&!root->right) //若为叶节点 ans.push_back(path); //将路径加入方案 else{dfs(root->left,path);//递归左子树或者右子树 dfs(root->right,path);}}
};
Binary tree paths-深度优先遍历DFS相关推荐
- LeetCode刷题记录14——257. Binary Tree Paths(easy)
LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...
- [LeetCode] Binary Tree Paths - 二叉树基础系列题目
目录: 1.Binary Tree Paths - 求二叉树路径 2.Same Tree - 判断二叉树相等 3.Symmetric Tree - 判断二叉树对称镜像 Binary Tree Path ...
- Binary Tree Paths leetcode
Binary Tree Paths Given a binary tree, return all root-to-leaf paths. For example, given the followi ...
- 数据结构与算法(7-2)图的遍历(深度优先遍历DFS、广度优先遍历BFS)(分别用邻接矩阵和邻接表实现)
目录 深度优先遍历(DFS)和广度优先遍历(BFS)原理 1.自己的原理图 2.官方原理图 一.邻接矩阵的深度优先遍历(DFS) 1.原理图 2. 过程: 3.总代码 二.邻接表的深度优先遍历(DFS ...
- CF750G New Year and Binary Tree Paths(数位dp二进制+数学)
CF750G New Year and Binary Tree Paths description solution code description 题目链接 一颗无穷个节点的完全二叉树. 求有多少 ...
- Binary Tree Paths
Binary Tree Paths Given a binary tree, return all root-to-leaf paths. For example, given the followi ...
- Java实现深度优先遍历-DFS
Java实现深度优先遍历-DFS 实现功能:使用深度优先遍历算法DFS计算地铁指定起点站和终点站之间的所有路径 1.构造地铁站点数据结构 地铁站点数据结构包含2个属性,1个站点名,1个邻接站点列表 i ...
- 图的深度优先遍历DFS(JAVA)
图的深度优先遍历算法 在此介绍图的基本算法之一的深度优先遍历(DFS)算法 广度优先搜索(BFS). 什么是DFS 图是由节点(Node)和路径(Route)组成的一种数据结构,用于反应各节点间的关系 ...
- Unique Binary Search Trees ll -深度优先遍历DFS
题目:Unique Binary Search Trees ll English: Given an integer n, generate all structurally unique BST's ...
- 二叉树的路径(根节点到叶节点)Binary Tree Paths
为什么80%的码农都做不了架构师?>>> 问题: Given a binary tree, return all root-to-leaf paths. For example ...
最新文章
- GitHub使用教程详解——官网操作指南(翻译)
- linux驱动设备树
- mysql io线程异常_mysql主从同步IO线程NO
- hdu-3790最短路径问题
- java练习_Java基础笔试练习(一)
- 微信小程序 条形加载读取进度 切换音频进度。简单实现(自定义音频界面实现)
- webconfig和appconfig中出现特殊字符如何处理
- QT示例:基于TCP 点对多Socket通讯(server,clients)
- openstack nova-network 的小bug的排错经历
- Unity Optimizing Shader Load Time
- 神泣单机服务器维护,神泣9.0网游单机版网单一键服务端 魔王归来
- 清除网页缓存的快捷键
- C语言execvp实现简易Shell的两种方法
- 【iOS】AVPlayer 视频播放
- 收藏指数爆表!CVPR 2018-2019几十篇优质论文解读大礼包! | 技术头条
- 芯片模型算力指标TOPS FLOPS MAC MACC MADD关系
- Educational Codeforces Round 95 (Rated for Div. 2)D. Trash Problem(权值线段树+离散化)
- ARM态度暧昧,愤怒的华为或投入Risc-V怀抱
- React组件前端组件化开发
- 钉钉(工作协同)应用之前端源码赏析
热门文章
- 简明python教程-Python简明教程
- 零基础学python知乎-编程零基础应当如何开始学习 Python?
- python编程入门书籍-程序员大佬,给Python零基础入门书籍教程的一些建议!
- python画直方图-python plotly绘制直方图实例详解
- 从零开始学习python编程-和尧名大叔一起从0开始学Python编程-循环
- python必背代码-让你的python代码优雅地道的小技巧
- python numpy安装步骤-python的numpy模块安装不成功简单解决方法总结
- python简单代码-python实现顺序表的简单代码
- 一张图学会python3语法-一张图片在Python操作下的4种玩法(附源码)
- 你了解语音识别技术吗?