leetcode-700.二叉搜索树中的搜索 | LIXI.FUN
0%

leetcode-700.二叉搜索树中的搜索

题目链接

700. 二叉搜索树的搜索

代码

  1. 递归

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
    if (root == null || root.val == val) {
    return root;
    } else if (root.val > val) {
    return searchBST(root.left, val);
    } else {
    return searchBST(root.right, val);
    }
    }
    }
  2. 迭代

    1
    2
    3
    4
    5
    6
    7
    8
    9
    class Solution {
    public TreeNode searchBST(TreeNode root, int val) {
    TreeNode node = root;
    while (node != null && node.val != val) {
    node = node.val > val ? node.left : node.right;
    }
    return node;
    }
    }

复杂度分析

  • 时间复杂度: O(n)
  • 空间复杂度: O(1)
觉得有收获就鼓励下作者吧