二叉搜索树中查找与目标数字最接近的节点

来源:互联网 发布:主机屋注册域名 编辑:程序博客网 时间:2024/05/16 23:33
struct Node{int value;Node* left;Node* right;};Node* LeftPrev = NULL;Node* RightPrev = NULL;Node* GetNearestNode(Node* root, int k){if(NULL == root){return NULL;}if(k == root->value){return root;}if(k < root->value){LeftPrev = root;if(NULL != root->left){return GetNearestNode(root->left , k);}else{if(RightPrev != NULL && k - RightPrev->value < root->value - k){return RightPrev;}else{return root;}}}else {RightPrev = root;if(NULL != root->right){return GetNearestNode(root->right , k);}else{if(LeftPrev != NULL &&  k  - root->value  < LeftPrev->value - k){return root;}else{return LeftPrev;}}}}

原创粉丝点击