作者:mobiledu2502915233 | 来源:互联网 | 2023-05-17 12:25
给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。
例如,
给定二叉搜索树:4/ \2 7/ \1 3和值: 2
你应该返回如下子树:
2 / \ 1 3
在上述示例中,如果要找的值是 5
,但因为没有节点值为 5
,我们应该返回 NULL
。
个人AC答案 二分法 (粗制滥造版
/*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/
class Solution {
public:TreeNode* searchBST(TreeNode* root, int val) {if(!root) return 0;if(root->val == val)return root;else if(root->val > val)return searchBST(root->left, val);elsereturn searchBST(root->right, val);}
};