530. 二叉搜索树的最小绝对差(JavaScript)

给定一个所有节点为非负值的二叉搜索树,求树中任意两节点的差的绝对值的最小值。

示例 :

输入:

   1
    \
     3
    /
   2

输出:
1

解释:
最小绝对差为1,其中 2 和 1 的差的绝对值为 1(或者 2 和 3)。

注意: 树中至少有2个节点。


思路:

这道题与二叉搜索树节点最小距离解法完全一样。

/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number}
 */
var getMinimumDifference = function(root) {
  let array = [];
  mid(root, array);
  let min = Number.MAX_SAFE_INTEGER;
  for (let i = 0; i < array.length - 1; i++) {
    min = Math.min(min, array[i + 1] - array[i]);
  }
  return min;
};

const mid = (root, array) => {
  if (root) {
    mid(root.left, array);
    array.push(root.val);
    mid(root.right, array);
  } 
}

 

全部评论

相关推荐

Aurora23:属于挂一半,暂时进池子了,隔一段时间没有其他组捞的话就彻底结束了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务