99-Recover-Binary-Search-Tree
0x0 题目详情
0x1 解题思路
while(cur != null){
most_right=cur.left;
if(most_right!=null){
while(most_right!=null && most_right!=cur){
//找到左子树的最右节点
most_right=most_right.right;
}
if(most_right == null){
//首次将最右指针指向当前节点
most_right.right=cur;
cur=cur.left;
continue;
}else{
//第二次遇到最右指针了,就需要把它恢复成null
most_right.right=null;
}
}
//已经没有左子树了,直接走向右子树就可
cur=cur.right;
}中序遍历
0x2 代码实现
0x3 课后总结
Last updated