使用二分搜索法在中序遍历中的二叉搜索树中搜索给定的键值。如果键值存在于树中，函数应返回对应的节点指针；如果不存在，返回空指针。
user
在中序遍历的二叉搜索树中，使用二分搜索法查找给定的键值。如果键值存在，返回对应节点指针；否则，返回空指针。

```c
struct TreeNode {
    int val;
    TreeNode *left;
    TreeNode *right;
    TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

TreeNode* binarySearch(TreeNode* root, int key) {
    while (root != NULL) {
        if (root->val == key)
            return root;
        else if (root->val < key)
            root = root->right;
        else
            root = root->left;
    }
    return NULL;
}
```
assistant