二叉树的所有路径
来源:互联网 发布:外贸通软件 编辑:程序博客网 时间:2024/06/15 10:14
一.题目描述
给一棵二叉树,找出从根节点到叶子节点的所有路径。
样例给出下面这棵二叉树:
1 / \2 3 \ 5
所有根到叶子的路径为:
[ "1->2->5", "1->3"]
二.解题思路
给出下面这棵二叉树:
1 / \2 3 \ 5
所有根到叶子的路径为:
[ "1->2->5", "1->3"]
当一个节点的左右子树都为空时,把从根节点到该节点的路径保存在向量中,找到所有的叶子节点就完成了对所有路径的保存.
三.实现代码
/** * Definition of TreeNode: * class TreeNode { * public: * int val; * TreeNode *left, *right; * TreeNode(int val) { * this->val = val; * this->left = this->right = NULL; * } * } */class Solution {public: /** * @param root the root of the binary tree * @return all root-to-leaf paths */ vector<string> binaryTreePaths(TreeNode* root) { // Write your code here vector<string>Paths; if(root==NULL) return Paths; ff(root,Paths,to_string(root->val) ); return Paths; } void ff(TreeNode *root,vector<string>&Paths,string strPaths){ if(root->left==NULL&&root->right==NULL){ Paths.push_back(strPaths); return; } if(root->left!=NULL) ff(root->left,Paths,strPaths+"->"+to_string(root->left->val) ); if(root->right!=NULL) ff(root->right,Paths,strPaths+"->"+to_string(root->right->val) ); }};
四.感悟
将一个int类型转化为string类型可用to_string().
1 0
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- 二叉树的所有路径
- vb.net 教程 5-8 Screen类
- 迷宫问题 POJ
- HTML+JS基础之a标签href与onclick事件的冲突处理
- 学习OpenCV2(四)——MeanShift之图形分割
- (C语言)高精度阶乘
- 二叉树的所有路径
- Liunx中使用字典破解口令
- 成员变量和成员函数的存储
- matlab for循环过大程序运行慢解决方案
- 线程的分类
- Spring源码分析:Bean加载流程概览及配置文件读取
- VC++6.0简单注释多行代码的快捷键
- flume 学习总结
- 多重继承