美文网首页
2019-02-07 Day 33

2019-02-07 Day 33

作者: 骚得过火 | 来源:发表于2019-02-07 16:44 被阅读0次
  1. 二叉搜索树中的搜索

给定二叉搜索树(BST)的根节点和一个值。 你需要在BST中找到节点值等于给定值的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 NULL。

例如,

给定二叉搜索树:

    4
   / \
  2   7
 / \
1   3

和值: 2
你应该返回如下子树:

  2     
 / \   
1   3

在上述示例中,如果要找的值是 5,但因为没有节点值为 5,我们应该返回 NULL。


/**
 * 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 == NULL) return NULL;
        
        if( val == root -> val) return root;
        
        if( val > root -> val) return searchBST( root -> right , val);
       
        if( val < root-> val ) return searchBST( root -> left , val) ;
        
        return NULL;
    }
};

相关文章

网友评论

      本文标题:2019-02-07 Day 33

      本文链接:https://www.haomeiwen.com/subject/sscgsqtx.html