zoukankan      html  css  js  c++  java
  • [LC] 270. Closest Binary Search Tree Value

    Given a non-empty binary search tree and a target value, find the value in the BST that is closest to the target.

    Note:

    • Given target value is a floating point.
    • You are guaranteed to have only one unique value in the BST that is closest to the target.

    Example:

    Input: root = [4,2,5,1,3], target = 3.714286
    
        4
       / 
      2   5
     / 
    1   3
    
    Output: 4

    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
    class Solution {
        public int closestValue(TreeNode root, double target) {
            if (root == null) {
                return -1;
            }   
            int res = root.val;
            while (root != null) {
                if (Math.abs(root.val - target) < Math.abs(res - target)) {
                    res = root.val;
                }
                if (root.val > target) {
                    root = root.left;
                } else {
                    root = root.right;
                }
            }
            return res;
        }
    }
  • 相关阅读:
    Linux与Mac通信
    练习
    删除重复文件
    解压压缩文件
    查询压缩文件的大小
    修改文件夹和文件名字
    删除文件和文件夹
    移动文件和文件夹
    shutil复制文件夹
    shutil复制文件
  • 原文地址:https://www.cnblogs.com/xuanlu/p/12242321.html
Copyright © 2011-2022 走看看