Given a non-empty binary search tree and a target value, find the value in the BST that is closest to the target.
Note:
- Given target value is a floating point.
- You are guaranteed to have only one unique value in the BST that is closest to the target.
这个题需要注意的一小点儿就是,它给的target value is double, 刚开始我是用recursion来做,于是
给定义的min (用来记录最小值的) 为INT_MAX, 显然这样不对,应该要用DB_MAX, 但是刷题不能
用float.h, 所以我就在想如何不给初始值。
后来我使用的iteration来做,没有递归。观察点就在于,一旦root->val < target, 那么就应该挪到右边
的树去寻找下一个potential closet value, 因为如果root->val已经比target小了,那么左子树里面的任何
结点只可能更不close, 反之亦然。
No comments:
Post a Comment