溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

leetCode如何計算二叉搜索樹的最小絕對差

發(fā)布時間:2021-12-15 14:58:31 來源:億速云 閱讀:137 作者:小新 欄目:大數(shù)據(jù)

這篇文章將為大家詳細(xì)講解有關(guān)leetCode如何計算二叉搜索樹的最小絕對差,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

 

一,二叉搜索樹的最小絕對差

 

1,問題簡述

給你一棵所有節(jié)點為非負(fù)值的二叉搜索樹,請你計算樹中任意兩節(jié)點的差的絕對值的最小值。

 

2,示例描述

示例:

輸入:

  1
   \
    3
   /
  2

輸出:
1

解釋:
最小絕對差為 1,其中 2 和 1 的差的絕對值為 1(或者 2 和 3)。


   

3,題解思路

基于中序遍歷獲取樹節(jié)點數(shù)據(jù),進(jìn)行求解

 

4,題解程序


import java.util.ArrayList;
import java.util.List;

public class GetMinimumDifferenceTest {
   public static void main(String[] args) {
       TreeNode t1=new TreeNode(1);
       TreeNode t2=new TreeNode(3);
       TreeNode t3=new TreeNode(2);
       t1.right=t2;
       t2.left=t3;
       int minimumDifference = getMinimumDifference(t1);
       System.out.println("minimumDifference = " + minimumDifference);

   }

   public static  int getMinimumDifference(TreeNode root) {
       List<Integer> list = new ArrayList<>();
       if (root == null) {
           return -1;
       }
       dfs(root, list);
       System.out.println("list = " + list);
       int[] toArray = list.stream().mapToInt(x -> x).toArray();
       int pre = toArray[0];
       int res = Integer.MAX_VALUE;
       for (int i = 1; i < toArray.length; i++) {
           res = Math.min(res, toArray[i] - pre);
           pre = toArray[i];
       }
       return res;
   }

   private static  void dfs(TreeNode root, List<Integer> list) {
       if (root == null) {
           return;
       }
       if (root.left != null) {
           dfs(root.left, list);
       }
       list.add(root.val);
       if (root.right != null) {
           dfs(root.right, list);
       }
   }
}

   

關(guān)于“l(fā)eetCode如何計算二叉搜索樹的最小絕對差”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI