题目:

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. GitHub使用教程详解——官网操作指南(翻译)
  2. linux驱动设备树
  3. mysql io线程异常_mysql主从同步IO线程NO
  4. hdu-3790最短路径问题
  5. java练习_Java基础笔试练习(一)
  6. 微信小程序 条形加载读取进度 切换音频进度。简单实现(自定义音频界面实现)
  7. webconfig和appconfig中出现特殊字符如何处理
  8. QT示例:基于TCP 点对多Socket通讯(server,clients)
  9. openstack nova-network 的小bug的排错经历
  10. Unity Optimizing Shader Load Time
  11. 神泣单机服务器维护,神泣9.0网游单机版网单一键服务端 魔王归来
  12. 清除网页缓存的快捷键
  13. C语言execvp实现简易Shell的两种方法
  14. 【iOS】AVPlayer 视频播放
  15. 收藏指数爆表!CVPR 2018-2019几十篇优质论文解读大礼包! | 技术头条
  16. 芯片模型算力指标TOPS FLOPS MAC MACC MADD关系
  17. Educational Codeforces Round 95 (Rated for Div. 2)D. Trash Problem(权值线段树+离散化)
  18. ARM态度暧昧,愤怒的华为或投入Risc-V怀抱
  19. React组件前端组件化开发
  20. 钉钉(工作协同)应用之前端源码赏析

热门文章

  1. 简明python教程-Python简明教程
  2. 零基础学python知乎-编程零基础应当如何开始学习 Python?
  3. python编程入门书籍-程序员大佬,给Python零基础入门书籍教程的一些建议!
  4. python画直方图-python plotly绘制直方图实例详解
  5. 从零开始学习python编程-和尧名大叔一起从0开始学Python编程-循环
  6. python必背代码-让你的python代码优雅地道的小技巧
  7. python numpy安装步骤-python的numpy模块安装不成功简单解决方法总结
  8. python简单代码-python实现顺序表的简单代码
  9. 一张图学会python3语法-一张图片在Python操作下的4种玩法(附源码)
  10. 你了解语音识别技术吗?