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 ...
最新文章
- 软件测试的发展空间大吗
- JAVA中console方法怎么用_Java中Console对象实例代码
- format函数python的顺序_[转载] Python中format函数用法
- 死磕java并发cas_死磕 java并发包之AtomicInteger源码分析
- 【论文解读】DeepFM论文总结
- Android WebView 开发详解(一)
- java ee4.8下载_在WildFly 8.2中修补焊接3 – Java EE 8的第一个实验RI
- u盘安装CENTOS后,启动missing operating system ,只能用U盘才能启动系统
- 第二阶段冲刺总结01
- 设计模式 单例模式 使用模板及智能指针
- C#学习系列之H264解码
- 数理统计之方差分析及python实现
- 最小割集stoer_wagner算法
- 打开word文档提示文件未找到_Word格式转换大全!三分钟把100份Word文档转为PDF、PPT、JPG文件...
- 你真的会调整后视镜吗?正确调整的四个步骤!
- 从0开始的appium+Android+python自动抢红包世界生活
- 2. Python基础
- C#工具栏的各种工具
- dell服务器新bois系统设置u盘启动,dell新版biosU盘启动顺序设置教程
- 春季舞蹈比赛1 c++
热门文章
- python爬虫步骤-Python爬虫详解,每一个步骤都给你细腻的讲解(附源码)
- 学python能做什么-学完Python可以做什么?
- python电脑版-python
- python怎么读是什么意思-python中的PEP是什么?怎么理解?(转)
- 零基础学python书籍-非IT行业,零基础自学Python,选什么书?
- python发音语言-python 利用pyttsx3文字转语音过程详解
- python要学多久可以找到工作-学习Python多久能找到工作?老男孩Python开发培训
- python 代码命令大全-深度学习中python常用命令
- makefile obj文件路径_makefile中包含的文件的路径
- 步骤条与Tab栏的联动 ~ 不要错过