257 Binary Tree Paths 二叉树的所有路径
2024-09-30 22:13:44
给定一个二叉树,返回从根节点到叶节点的所有路径。
例如,给定以下二叉树:
1
/ \
2 3
\
5
所有根到叶路径是:
["1->2->5", "1->3"]
详见:https://leetcode.com/problems/binary-tree-paths/description/
Java实现:
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public List<String> binaryTreePaths(TreeNode root) {
List<String> res=new ArrayList<String>();
if(root==null){
return res;
}
helper(root,"",res);
return res;
}
private void helper(TreeNode root,String out,List<String> res){
out+=String.valueOf(root.val);
if(root.left==null&&root.right==null){
res.add(out);
}
if(root.left!=null){
helper(root.left,out+"->",res);
}
if(root.right!=null){
helper(root.right,out+"->",res);
}
}
}
C++实现:
/**
* 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:
vector<string> binaryTreePaths(TreeNode* root) {
vector<string> res;
if(root)
{
helper(root,"",res);
}
return res;
}
void helper(TreeNode *root,string out,vector<string> &res)
{
out+=to_string(root->val);
if(!root->left&&!root->right)
{
res.push_back(out);
}
if(root->left)
{
helper(root->left,out+"->",res);
}
if(root->right)
{
helper(root->right,out+"->",res);
}
}
};
参考:https://www.cnblogs.com/grandyang/p/4738031.html
最新文章
- 不错的 iOS 工具
- 我为什么选择使用Go语言?
- python学习小结3:函数
- Linux学习笔记18——信号1
- 在公网(internet)上建立website时不能用http访问
- 国内常用ntp服务器ip地址
- 将String类型的数字字符转换成int
- Ajax 生成流文件下载 以及复选框的实现
- Effective C++ Item 33 避免遮掩继承过来的名称
- ASCII,Unicode 和通用方式
- C#委托与事件学习笔记
- 02-css的选择器
- 51Nod 1069 Nim游戏 (位运算)
- Python Django 之 简单入门
- python中的三次握手以及四次挥手
- linux svn配置与使用
- Linux source命令
- jQuery ajax - serializeArray() 方法
- SQLSERVER 子查询中使用ORDER BY
- 【Linux】Shell三类变量的作用域——linux shell “永久环境变量”、“临时环境变量”和";普通变量";之完全解读
热门文章
- Codeforces 628F Bear and Fair Set
- POJ 3734_Blocks
- ArcGIS for Android离线数据编辑实现原理
- C#.NET如何将cs文件编译成dll文件 exe文件 如何调用dll文件
- C# .NET如何清空stringbuilder
- Java设计模式—单例设计模式(Singleton Pattern)全然解析
- netty4与protocol buffer结合简易教程
- php &;amp; 和 &;amp;amp; (主要是url 问题)
- PHP连接数据库(注冊页面的增删改查)
- Rust hello world 语法解说