Thursday, October 30, 2014

fb interview question

给一个bst,和其中一个节点的value,求在bst中比这个节点大的下一个value
,面试官要求 O(1) space和 O(log N) time的解法。







 Answer:

Node greater=null;
Node cur=root;
while(cur!=null) {
   if(cur.val<=target) { cur=cur.right; }
   else { greater=cur; cur=cur.left; }
}
if (greater==null) // no result
else return greater.val;

No comments:

Post a Comment