一、题目内容 简单

给定二叉搜索树(BST)的根节点 root 和一个整数值 val。

你需要在 BST 中找到节点值等于 val 的节点。 返回以该节点为根的子树。 如果节点不存在,则返回 null 。

示例1:

输入:root = [4,2,7,1,3], val = 2 输出:[2,1,3] 14. 二叉搜索树的搜索(700) - 图1

示例2:

输入:root = [4,2,7,1,3], val = 5 输出:[] 14. 二叉搜索树的搜索(700) - 图2

提示:

  • 数中节点数在 [1, 5000] 范围内
  • 1 <= Node.val <= 107
  • root 是二叉搜索树
  • 1 <= val <= 107

    二、解题思路

    没什么好说的,就一个个找。前中后序、层序随便你

    三、具体代码

    1. /**
    2. * @param {TreeNode} root
    3. * @param {number} val
    4. * @return {TreeNode}
    5. */
    6. var searchBST = function (root, val) {
    7. const queue = [root]
    8. while (queue.length) {
    9. const node = queue.shift()
    10. if (node.val == val) return node
    11. if (node.left) queue.push(node.left)
    12. if (node.right) queue.push(node.right)
    13. }
    14. return null
    15. };

    四、其他解法