题目:

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相关推荐

  1. LeetCode刷题记录14——257. Binary Tree Paths(easy)

    LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...

  2. [LeetCode] Binary Tree Paths - 二叉树基础系列题目

    目录: 1.Binary Tree Paths - 求二叉树路径 2.Same Tree - 判断二叉树相等 3.Symmetric Tree - 判断二叉树对称镜像 Binary Tree Path ...

  3. Binary Tree Paths leetcode

    Binary Tree Paths Given a binary tree, return all root-to-leaf paths. For example, given the followi ...

  4. 数据结构与算法(7-2)图的遍历(深度优先遍历DFS、广度优先遍历BFS)(分别用邻接矩阵和邻接表实现)

    目录 深度优先遍历(DFS)和广度优先遍历(BFS)原理 1.自己的原理图 2.官方原理图 一.邻接矩阵的深度优先遍历(DFS) 1.原理图 2. 过程: 3.总代码 二.邻接表的深度优先遍历(DFS ...

  5. CF750G New Year and Binary Tree Paths(数位dp二进制+数学)

    CF750G New Year and Binary Tree Paths description solution code description 题目链接 一颗无穷个节点的完全二叉树. 求有多少 ...

  6. Binary Tree Paths

    Binary Tree Paths Given a binary tree, return all root-to-leaf paths. For example, given the followi ...

  7. Java实现深度优先遍历-DFS

    Java实现深度优先遍历-DFS 实现功能:使用深度优先遍历算法DFS计算地铁指定起点站和终点站之间的所有路径 1.构造地铁站点数据结构 地铁站点数据结构包含2个属性,1个站点名,1个邻接站点列表 i ...

  8. 图的深度优先遍历DFS(JAVA)

    图的深度优先遍历算法 在此介绍图的基本算法之一的深度优先遍历(DFS)算法 广度优先搜索(BFS). 什么是DFS 图是由节点(Node)和路径(Route)组成的一种数据结构,用于反应各节点间的关系 ...

  9. Unique Binary Search Trees ll -深度优先遍历DFS

    题目:Unique Binary Search Trees ll English: Given an integer n, generate all structurally unique BST's ...

  10. 二叉树的路径(根节点到叶节点)Binary Tree Paths

    为什么80%的码农都做不了架构师?>>>    问题: Given a binary tree, return all root-to-leaf paths. For example ...

最新文章

  1. 软件测试的发展空间大吗
  2. JAVA中console方法怎么用_Java中Console对象实例代码
  3. format函数python的顺序_[转载] Python中format函数用法
  4. 死磕java并发cas_死磕 java并发包之AtomicInteger源码分析
  5. 【论文解读】DeepFM论文总结
  6. Android WebView 开发详解(一)
  7. java ee4.8下载_在WildFly 8.2中修补焊接3 – Java EE 8的第一个实验RI
  8. u盘安装CENTOS后,启动missing operating system ,只能用U盘才能启动系统
  9. 第二阶段冲刺总结01
  10. 设计模式 单例模式 使用模板及智能指针
  11. C#学习系列之H264解码
  12. 数理统计之方差分析及python实现
  13. 最小割集stoer_wagner算法
  14. 打开word文档提示文件未找到_Word格式转换大全!三分钟把100份Word文档转为PDF、PPT、JPG文件...
  15. 你真的会调整后视镜吗?正确调整的四个步骤!
  16. 从0开始的appium+Android+python自动抢红包世界生活
  17. 2. Python基础
  18. C#工具栏的各种工具
  19. dell服务器新bois系统设置u盘启动,dell新版biosU盘启动顺序设置教程
  20. 春季舞蹈比赛1 c++

热门文章

  1. python爬虫步骤-Python爬虫详解,每一个步骤都给你细腻的讲解(附源码)
  2. 学python能做什么-学完Python可以做什么?
  3. python电脑版-python
  4. python怎么读是什么意思-python中的PEP是什么?怎么理解?(转)
  5. 零基础学python书籍-非IT行业,零基础自学Python,选什么书?
  6. python发音语言-python 利用pyttsx3文字转语音过程详解
  7. python要学多久可以找到工作-学习Python多久能找到工作?老男孩Python开发培训
  8. python 代码命令大全-深度学习中python常用命令
  9. makefile obj文件路径_makefile中包含的文件的路径
  10. 步骤条与Tab栏的联动 ~ 不要错过