leetcode展平二叉搜索树

阅读 68

2022-04-02

递归,中序遍历,重要的是用一个全局节点保存前一个节点的值,然后root左指针置空。

class Solution {
public:
    TreeNode* pre=new TreeNode(-1);
    TreeNode* cur=pre;
    TreeNode* increasingBST(TreeNode* root) {
        dfs(root);
        return cur->right;
    }
    void dfs(TreeNode *root){
        if (!root) return;
        dfs(root->left);
        pre->right=root;
        root->left=nullptr;
        pre=root;
        dfs(root->right);

    }
};

精彩评论(0)

0 0 举报