Search in a Binary Search Tree(C++二叉搜索樹中的搜索)

解題思路:

(1)利用二叉搜索樹的特點,依次遞歸比較即可

/**
 * Definition of TreeNode:
 * class TreeNode {
 * public:
 *     int val;
 *     TreeNode *left, *right;
 *     TreeNode(int val) {
 *         this->val = val;
 *         this->left = this->right = NULL;
 *     }
 * }
 */

class Solution {
public:
    /**
     * @param root: the tree
     * @param val: the val which should be find
     * @return: the node
     */
    TreeNode * searchBST(TreeNode * root, int val) {
        if(root==NULL) return NULL;
        if(root->val==val) return root;
        else if(root->val<val) return searchBST(root->right, val);
        else return searchBST(root->left, val);
    }
};

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章