博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Leetcode] Binary Tree Paths, Solution
阅读量:5759 次
发布时间:2019-06-18

本文共 1212 字,大约阅读时间需要 4 分钟。

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"]
[Thought]
这个主要就是实现题。对树进行深度遍历,在遍历的过程中保存访问节点,当遍历到叶节点的时候,打印出来路径即可。
[Code]
1:  class Solution {  2:  public:  3:    vector
binaryTreePaths(TreeNode* root) { 4: vector
paths; 5: vector
nodes; 6: getAllPaths(root, nodes, paths); 7: return paths; 8: } 9: void getAllPaths(TreeNode* node, vector
& nodes,vector
& paths) { 10: if(node == NULL) { 11: return; 12: } 13: if(node->left== NULL && node->right == NULL) { 14: stringstream ss; 15: for(int i =0; i< nodes.size(); i++) { 16: ss << nodes[i] << "->"; 17: } 18: ss << node->val; 19: paths.push_back(ss.str()); 20: return; 21: } 22: nodes.push_back(node->val); 23: getAllPaths(node->left, nodes, paths); 24: getAllPaths(node->right, nodes, paths); 25: nodes.pop_back(); 26: } 27: };
Github: 

转载于:https://www.cnblogs.com/codingtmd/p/5078835.html

你可能感兴趣的文章
.Net组件程序设计之远程调用(二)
查看>>
ant中文教程
查看>>
Linux常用命令(一)
查看>>
【VMCloud云平台】SCAP(四)租户(一)
查看>>
linux释放内存的方法
查看>>
基于 Android NDK 的学习之旅----- C调用Java
查看>>
Windows 10 技术预览
查看>>
Tomcat http跳转https
查看>>
一个自动布署.net网站的bat批处理实例
查看>>
我的友情链接
查看>>
Centos6.6安装选包及基础场景说明
查看>>
java基础面试题-1
查看>>
深克隆与序列化效率的比较
查看>>
lamp+nginx代理+discuz+wordpress+phpmyadmin搭建一
查看>>
nagios监控使用139邮箱报警
查看>>
Windows Phone 7 中各种Task解说(启动器与选择器)
查看>>
罗森伯格助力2011年中国智能建筑技术发展应用论坛哈尔滨站
查看>>
网络割接
查看>>
windows server 2016 活动目录(二)
查看>>
openstack G版 修改vm的flavor级别
查看>>