加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

LeetCode-114-Flatten Binary Tree to Linked List

发布时间:2020-12-14 04:26:11 所属栏目:大数据 来源:网络整理
导读:算法描述: Given a binary tree,flatten it to a linked list in-place. For example,given the following tree: 1 / 2 5 / 3 4 6 The flattened tree should look like: 1 2 3 4 5 6 解题思路:从题目可以看出,用后续遍历可以解决问题。用一个全局变量

算法描述:

Given a binary tree,flatten it to a linked list in-place.

For example,given the following tree:

    1
   /   2   5
 /    3   4   6

The flattened tree should look like:

1
   2
       3
           4
               5
                   6

解题思路:从题目可以看出,用后续遍历可以解决问题。用一个全局变量存储上一个访问的点,将上一个访问的点挂在右边子树上,并将左边的子树清空。

    TreeNode* prev=nullptr;
    void flatten(TreeNode* root) {
        if(root==nullptr) return;
        flatten(root->right);
        flatten(root->left);
        root->right = prev;
        root->left = nullptr;
        prev = root;
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读