import java.util.HashSet;
import java.util.Set;
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
class TreeNode{
int val;
TreeNode left;
TreeNode right;
TreeNode parent;
}
public TreeNode inorderSuccessor(TreeNode root, TreeNode p) {
return helper(root,p.val,new HashSet<TreeNode>());
}
public TreeNode helper(TreeNode root, int val, Set<TreeNode> set){
if(root == null)return null;
set.add(root);
TreeNode res = null;
if(root.val <= val){
if(root.right != null && !set.contains(root.right)){
res = helper(root.right,val,set);
}
if(res != null)return res;
return helper(root.parent,val,set);
} else {
return root;
}
}
}
import java.util.HashSet;
import java.util.Set;
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
class TreeNode{
TreeNode left;
TreeNode right;
TreeNode parent;
}
public TreeNode inorderSuccessor(TreeNode p) {
if(p.right != null)return p.right;
while(p.parent != null){
if(p.parent.right == p)p = p.parent;
else return p.parent;
}
return null;
}
}
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。