二叉搜索树转双向链表

2018/10/20 Offer 共 328 字,约 1 分钟

title

problem link

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

solution

public class Solution {
    TreeNode pre=null;
    TreeNode res=null;
    private void lvr(TreeNode r) {
        if (r != null) {
            lvr(r.left);
            r.left=pre;
            if(pre!=null){
                pre.right=r;
            }else{
                res=r;
            }
            pre=r;
            lvr(r.right);
        }
    }
    public TreeNode Convert(TreeNode pRootOfTree) {
        lvr(pRootOfTree);
        return res;
    }

}

Search

    Table of Contents