day17 二叉树的所有路径

void traversal(TreeNode* cur,

vector<int>& path,

vector<string>& result)

{

        path.push_back(cur->val); // 中,中为什么写在这里,因为最后一个节点也要加入到path中 

        // 这才到了叶子节点

        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;

    }

 

 

 

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-16 01:32:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-16 01:32:01       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-16 01:32:01       82 阅读
  4. Python语言-面向对象

    2023-12-16 01:32:01       91 阅读

热门阅读

  1. 记录 | docker启动权限问题Get Permission Denied

    2023-12-16 01:32:01       50 阅读
  2. js 获取元素宽高的几种方法

    2023-12-16 01:32:01       53 阅读
  3. Future设计模式

    2023-12-16 01:32:01       50 阅读
  4. 包管理工具npm与yarn

    2023-12-16 01:32:01       53 阅读
  5. 除法求值[中等]

    2023-12-16 01:32:01       44 阅读
  6. 爬取图片python代码

    2023-12-16 01:32:01       60 阅读
  7. AI:ElasticSearch

    2023-12-16 01:32:01       60 阅读
  8. 4.2 进阶题 - B 相生相克

    2023-12-16 01:32:01       59 阅读
  9. linux/CentOS7安装mysql数据库

    2023-12-16 01:32:01       68 阅读