题解 | #二叉搜索树与双向链表#

二叉搜索树与双向链表

https://www.nowcoder.com/practice/947f6eb80d944a84850b0538bf0ec3a5

import java.util.*;
/**
public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
        this.val = val;

    }

}
*/
public class Solution {
    public TreeNode pre=null;
    public void midTraverse(TreeNode current){
        if(current!=null){
                        //先遍历到左子树的最左结点
            midTraverse(current.left);
                        //当前结点的前驱指向前结点
            current.left = pre;
                        //当前结点不是空的时候 前结点的后驱就是当前结点,
            if(pre!=null){
                pre.right = current; 
            }
                        //将前结点赋值为当前结点,
                        //遍历右子树
            pre =current;
            midTraverse(current.right);
        }
    }
    public TreeNode Convert(TreeNode pRootOfTree) {
        if(pRootOfTree==null)return null;
        midTraverse(pRootOfTree);
        while(pRootOfTree.left!=null){
            pRootOfTree = pRootOfTree.left;
        }
        return pRootOfTree;
    }
}        

全部评论

相关推荐

程序员花海:实习和校招简历正确格式应该是教育背景+实习+项目经历+个人评价 其中项目经历注意要体现业务 实习经历里面的业务更是要自圆其说 简历模板尽可能保持干净整洁 不要太花哨的
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务