LeetCode257 二叉树的所有路径

前言

题目: 257. 二叉树的所有路径
文档: 代码随想录------二叉树的所有路径
编程语言: C++
解题状态: 没思路,简单题强度好高...

思路

本题利用了递归加回溯的思路。

这道题目要求从根节点到叶子的路径,所以需要前序遍历,这样才方便让父节点指向孩子节点,找到对应的路径。

因为我们要把路径记录下来,需要回溯来回退一个路径再进入另一个路径。

递归回溯是一家!

代码

cpp 复制代码
/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    void traversal(TreeNode* cur, vector<int>& path, vector<string>& result) {
        path.push_back(cur -> val);

        if (cur -> left == NULL && cur -> right == NULL) {
            string sPath;
            for (int i = 0; i < path.size() - 1; i++) {
                sPath += to_string(path[i]);
                sPath += "->";
            }
            sPath += to_string(path[path.size() - 1]);
            result.push_back(sPath);
            return;
        }

        if (cur -> left) {
            traversal(cur -> left, path, result);
            path.pop_back();
        }

        if (cur -> right) {
            traversal(cur -> right, path, result);
            path.pop_back();
        }
    }

    vector<string> binaryTreePaths(TreeNode* root) {
        vector<string> result;
        vector<int> path;
        if (root == NULL) return result;
        traversal(root, path, result);
        return result;
    }
};
相关推荐
91刘仁德1 分钟前
传输层协议深度拆解:端口寻址、UDP 报文与 TCP 可靠性机制全解析
linux·网络·c++·网络协议·tcp/ip·udp·c
小O的算法实验室2 分钟前
IEEE TEVC,学习辅助的搜索路径重构进化算法
学习·算法·重构
Liuchang09116 分钟前
洛谷 P2670 [NOIP 2015 普及组] 扫雷游戏
c++·算法·游戏
言乐618 分钟前
Python体现逻辑回归和决策树的区别
开发语言·python·算法·决策树·逻辑回归
顶点多余29 分钟前
C/C++常见面试题
开发语言·c++
HugoStudio_SWAN31 分钟前
洛谷 B4575 [GESP202609 二级] 直角三角形——临场定义理解与边界质疑
c++·学习·程序人生·算法
(Charon)32 分钟前
【C++面试】右值引用与移动语义:std::move到底做了什么
开发语言·c++
红豆诗人37 分钟前
C++二叉搜索树:查找、插入和删除为什么这样写
数据结构·c++·算法
HZjiangzi37 分钟前
深耕精密驱动二十六载,捷昌驱动助力机器人产业升级发展
人工智能·算法
奋发向前wcx38 分钟前
CSP-J复赛模拟赛3 王晨旭补题 2026.10.4
算法