給定二叉搜尋樹(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 小於右子樹上任意乙個節點的。遞迴三部曲 確定函式引數和返回值 引數為樹的根節點,返回以目標值為根節點的子樹 確定終止條件 節點為空或者找到目標值的節點就返回 單層邏輯 如果訪問到的節點的值比...