美文网首页
剑指 Offer 第36题:二叉搜索树与双向链表

剑指 Offer 第36题:二叉搜索树与双向链表

作者: 放开那个BUG | 来源:发表于2022-08-03 10:18 被阅读0次

1、前言

题目描述

2、思路

二叉搜索树的中序遍历,最后的 dfs 返回时,还需要处理一下,让头跟尾连起来。

3、代码

class Solution {

    private Node pre = null;

    public Node treeToDoublyList(Node root) {
        if(root == null){
            return root;
        }

        Node head = new Node();
        pre = head;
        dfs(root);
        Node res = head.right;
        pre.right = res;
        res.left = pre;

        return res;
    }

    private void dfs(Node root){
        if(root == null){
            return;
        }

        dfs(root.left);

        pre.right = root;
        root.left = pre;
        pre = root;

        dfs(root.right);
    }
}

相关文章

网友评论

      本文标题:剑指 Offer 第36题:二叉搜索树与双向链表

      本文链接:https://www.haomeiwen.com/subject/wznbbrtx.html