class Solution {
public TreeNode inorderSuccessor(TreeNode p) {
TreeNode index = null;
if(p.right != null) {
index = p.right;
while(index.left != null) {
index = index.left;
}
return index;
}else {
index = p;
while(index.father != null && index.father.right == index) {
index = index.father;
}
return index.father;
}
}
}
1.节点的后继可能在右子树的最左边
2.也可能是第一个右上放的父节点
3.以上两个都有取1