/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode father;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
public TreeNode inorderSuccessor(TreeNode p) {
if (p.right != null){
p = p.right;
while (p.left != null) {
p = p.left;
}
return p;
}else {
TreeNode f = p.father;
// if p is the right node of f and f != null
while (f!= null && f.left != p){
p = f;
f = p.father;
}
return f;
}
}
}
AcWing-19:二叉树的下一个节点(Java语言实现)
最新推荐文章于 2024-06-16 09:46:44 发布