微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

#Leetcode# 114. Flatten Binary Tree to Linked List

https://leetcode.com/problems/flatten-binary-tree-to-linked-list/

 

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

代码

/**
 * DeFinition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode(int x) : val(x),left(NULL),right(NULL) {}
 * };
 */
class Solution {
public:
    void flatten(TreeNode* root) {
        if(!root) return;
        flatten(root -> left);
        flatten(root -> right);
        
        TreeNode* R = root -> right;
        root -> right = root -> left;
        root -> left = NULL;
        TreeNode* cur = root;
        while(cur -> right) cur = cur -> right;
        cur -> right = R;
    }
};

  好像一个世纪那么久没写 LC 了  

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐