Leetcode 700 二叉搜尋樹中的搜尋

2021-08-29 02:57:53 字數 768 閱讀 8709

給定二叉搜尋樹(bst)的根節點和乙個值。 你需要在bst中找到節點值等於給定值的節點。 返回以該節點為根的子樹。 如果節點不存在,則返回 null。

例如,給定二叉搜尋樹:

4

/ \2 7

/ \1 3

和值: 2

你應該返回如下子樹:

2     

/ \

1 3

在上述示例中,如果要找的值是 5,但因為沒有節點值為 5,我們應該返回 null。

二叉搜尋樹(bst):要麼是null,不是空樹的話,若左子樹不空,都小於root.val的值,若右子樹不空,則右子樹上值,都大於root.val的值;

/**

* definition for a binary tree node.

* public class treenode

* }*/class solution

if (root.val == val)

if (root.val > val && root.left != null) else if (root.val < val && root.right != null)

return null;

}}

首先明確查詢的目的是什麼?

做最少的功,找到目標值

在查詢樹上,根據它的特點,每次縮小一半的查詢範圍,每次判斷root.val 與val的值,判斷目標值在哪**樹

leetcode 700 二叉搜尋樹中的搜尋

給定二叉搜尋樹 bst 的根節點和乙個值。你需要在bst中找到節點值等於給定值的節點。返回以該節點為根的子樹。如果節點不存在,則返回 null。definition for a binary tree node.class treenode object def init self,x self.v...

leetcode700 二叉搜尋樹中的搜尋

給定二叉搜尋樹 bst 的根節點和乙個值。你需要在bst中找到節點值等於給定值的節點。返回以該節點為根的子樹。如果節點不存在,則返回 null。例如,給定二叉搜尋樹 4 2 7 1 3 和值 2 你應該返回如下子樹 2 1 3 在上述示例中,如果要找的值是 5,但因為沒有節點值為 5,我們應該返回 ...

leetcode 700 二叉搜尋樹中的搜尋

題目 思路一 遞迴 分析 二叉搜尋樹是一棵二叉樹,每個節點都有以下特性 1 大於左子樹上任意乙個節點的值 2 小於右子樹上任意乙個節點的。遞迴三部曲 確定函式引數和返回值 引數為樹的根節點,返回以目標值為根節點的子樹 確定終止條件 節點為空或者找到目標值的節點就返回 單層邏輯 如果訪問到的節點的值比...