[力扣 Hot100]Day46 二叉树展开为链表

题目描述

给你二叉树的根结点 root ,请你将它展开为一个单链表:

展开后的单链表应该同样使用 TreeNode ,其中 right 子指针指向链表中下一个结点,而左子指针始终为 null 。
展开后的单链表应该与二叉树 先序遍历 顺序相同。

出处

思路

先序遍历,维护链指针。

代码

class Solution {
public:
    void visit(TreeNode* root,vector<TreeNode*>& queue){
        queue.push_back(root);
        if(root->left) visit(root->left,queue);
        if(root->right) visit(root->right,queue);
    }
    void flatten(TreeNode* root) {
        if(!root) return;
        vector<TreeNode*> queue;
        visit(root,queue);
        for(int i=0;i<queue.size()-1;i++){
            queue[i]->left=nullptr;
            queue[i]->right=queue[i+1];
        }
    }
};

相关推荐

  1. [ Hot100]Day46 展开

    2024-03-10 08:38:02       42 阅读
  2. [ Hot100]Day43 验证搜索

    2024-03-10 08:38:02       41 阅读

最近更新

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

    2024-03-10 08:38:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-10 08:38:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-10 08:38:02       82 阅读
  4. Python语言-面向对象

    2024-03-10 08:38:02       91 阅读

热门阅读

  1. 面试中如何介绍zookeeper的ZAB协议

    2024-03-10 08:38:02       39 阅读
  2. .Net Core/.net 6/.Net 8 实现Mqtt服务器

    2024-03-10 08:38:02       34 阅读
  3. 【杂言】迟到的 2024 展望

    2024-03-10 08:38:02       39 阅读
  4. 程序员如何选择职业赛道?

    2024-03-10 08:38:02       44 阅读
  5. rabbitmq4

    rabbitmq4

    2024-03-10 08:38:02      35 阅读
  6. 题目 1908: 蓝桥杯-矩阵相乘

    2024-03-10 08:38:02       36 阅读
  7. 3.Rust数据类型

    2024-03-10 08:38:02       39 阅读
  8. 【C++ 学习】C++ 传值 传指针 传引用

    2024-03-10 08:38:02       39 阅读
  9. 防抖与节流

    2024-03-10 08:38:02       39 阅读
  10. Lua 脚本语言基础语法及应用

    2024-03-10 08:38:02       35 阅读
  11. HTML:用对 preload、prefetch提升网页加载速度

    2024-03-10 08:38:02       42 阅读