您现在的位置是:首页 > 编程 > 

二叉树的所有路径(C++)

2025-07-21 06:57:17
二叉树的所有路径(C++) 二叉树的所有路径给你一个二叉树的根节点 root,按 任意顺序 ,返回所有从根节点到叶子节点的路径。叶子节点 是指没有子节点的节点。示例 1: 代码语言:javascript代码运行次数:0运行复制输入:root = [1,2,,null,5] 输出:["1->2->5","1->"]示例 2:代码语言:j

二叉树的所有路径(C++)

二叉树的所有路径

给你一个二叉树的根节点 root,按 任意顺序 ,返回所有从根节点到叶子节点的路径。

叶子节点 是指没有子节点的节点。

示例 1:

代码语言:javascript代码运行次数:0运行复制
输入:root = [1,2,,null,5]
输出:["1->2->5","1->"]

示例 2:

代码语言:javascript代码运行次数:0运行复制
输入:root = [1]
输出:["1"]

提示:

  • 树中节点的数目在范围 [1, 100]
  • -100 <= ode.val <= 100

我的代码:

代码语言:javascript代码运行次数:0运行复制
/**
 * Definition for a binary tree node.
 * struct Treeode {
 *     int val;
 *     Treeode *left;
 *     Treeode *right;
 *     Treeode() : val(0), left(nullptr), right(nullptr) {}
 *     Treeode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     Treeode(int x, Treeode *left, Treeode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    void ctruct_paths(Treeode* root, string path, vector<string>& paths)    
    {
        if (root != ULL)
        {
            path += to_string(root->val);
            if (root->left == ULL && root->right == ULL)
            {
                // 当走到没有路的时候
                paths.push_back(path);
            } 
            else 
            {
                // 还有路可以走
                path += "->";
                ctruct_paths(root->left, path, paths);
                ctruct_paths(root->right, path, paths);
            }            
        }
    }
public:
    vector<string> binaryTreePaths(Treeode* root) {
        vector<string> paths;
        ctruct_paths(root, "", paths);
        return paths;
    }
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。 原始发表:2022-12-06,如有侵权请联系 cloudcommunity@tencent 删除stringc++二叉树pathroot

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1160966.html

相关标签:无
上传时间: 2025-07-20 15:24:25

上一篇:比特位计数(C++)

下一篇:各位相加(C++)

留言与评论(共有 10 条评论)
本站网友 和平里医院体检
2分钟前 发表
100] 内-100 <= ode.val <= 100我的代码:代码语言:javascript代码运行次数:0运行复制/** * Definition for a binary tree node. * struct Treeode { * int val; * Treeode *left; * Treeode *right; * Treeode()
本站网友 姚明和郭敬明
27分钟前 发表
path
本站网友 金银花功效
20分钟前 发表
2
本站网友 富力新城
10分钟前 发表
left(nullptr)
本站网友 移动互联网推广
27分钟前 发表
val(0)
本站网友 浙江金帝集团有限公司
23分钟前 发表
val(x)
本站网友 绵阳二手房信息
18分钟前 发表
按 任意顺序
本站网友 周边自驾游
0秒前 发表
5] 输出:["1->2->5"
本站网友 makelove
27分钟前 发表
vector<string> binaryTreePaths(Treeode* root) { vector<string> paths; ctruct_paths(root