題目描述:
給定乙個不為空的二叉搜尋樹和乙個目標值 target,請在該二叉搜尋樹中找到最接近目標值 target 的數值。
注意:給定的目標值 target 是乙個浮點數
題目保證在該二叉搜尋樹中只會存在乙個最接近目標值的數
示例:
輸入: root = [4,2,5,1,3],目標值 target = 3.714286
輸出: 4
方法1:
主要思路:
(1)主要思路就是一直去尋找包含target的區段範圍的兩個端點,在最後比較target距離那個端點距離更近;
/**
* definition for a binary tree node.
* struct treenode
* };
*/class
solution
//尋找左端點
else
if(root-
>val
else
}return
abs(rhs-target)
>
abs(lhs-target)
?lhs:rhs;
//比較距離那個端點的距離更近}}
;
二叉搜尋樹中最接近的值 II
給定一棵非空二叉搜尋樹以及乙個target值,找到 bst 中最接近給定值的k個數。樣例 1 輸入 0.000000 1輸出 1 解釋 二叉樹 表示如下的樹結構 1樣例 2 輸入 0.275000 2輸出 1,2 解釋 二叉樹 表示如下的樹結構 3 1 4 2假設是一棵平衡二叉搜尋樹,你可以用時間複...
二叉搜尋樹 二叉搜尋樹
題目 二叉搜尋樹 time limit 2000 1000 ms j a others memory limit 32768 32768 k j a others total submission s 6945 accepted submission s 3077 problem descripti...
二叉搜尋樹 修剪二叉搜尋樹
第一反應是重構,看來別人的解答發現,其實不用重構那麼複雜。treenode trimbst treenode root,int low,int high if root val high 下一層處理完左子樹的結果賦給root left,處理完右子樹的結果賦給root right。root left ...