美文网首页
二叉搜索树与双向链表

二叉搜索树与双向链表

作者: 稀饭粥95 | 来源:发表于2018-08-28 21:53 被阅读0次

输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。

递归方法

public TreeNode Convert(TreeNode root) {
        if(root==null) return null;
        TreeNode left = Convert(root.left);
        TreeNode p = left;
        while(p!=null&&p.right!=null){
            p = p.right;
        }
        if(p!=null){
            p.right=root;
            root.left=p;
        }else{
            root.left=null;
        }
        TreeNode right = Convert(root.right);
        if(right!=null){
            root.right = right;
            right.left = root;
        }else{
            root.right=null;
        }
        return left!=null?left:root;
    }

相关文章

网友评论

      本文标题:二叉搜索树与双向链表

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