剑指 Offer 36. 二叉搜索树与双向链表

class Solution {
    Node pre, head;
    public Node treeToDoublyList(Node root) {
        if(root == null) return null;
        dfs(root);
        head.left = pre;
        pre.right = head;
        return head;
    }

    private void dfs(Node cur) {
        if(cur == null) return;
        dfs(cur.left);
        if(pre!=null){
            pre.right = cur;
        }else{
            head = cur;
        }
        cur.left = pre;
        pre = cur;
        dfs(cur.right);

    }
}

 

posted @ 2020-08-20 10:02  欣姐姐  阅读(94)  评论(0)    收藏  举报