码迷,mamicode.com
首页 > 其他好文 > 详细

LeetCode-114-Flatten Binary Tree to Linked List

时间:2019-02-03 10:44:18      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:问题   ike   should   flat   example   存储   like   解决问题   leetcode   

算法描述:

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;
    }

 

LeetCode-114-Flatten Binary Tree to Linked List

标签:问题   ike   should   flat   example   存储   like   解决问题   leetcode   

原文地址:https://www.cnblogs.com/nobodywang/p/10349610.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!