在一个牧场中,有很多牛。为了方便管理,牧场主将牛的体重排列成一棵二叉搜索树,假设所有牛的体重都不同。现在牧场主想知道牛群中任意两牛体重之间的最小差值。请你编写一个程序,给定一棵二叉搜索树的根节点 root,返回树中任意两不同节点值之间的最小差值,这个体重差至少是个正数。
区块链毕设网qklbishe.com为您提供问题的解答
在一个牧场中,有很多牛。为了方便管理,牧场主将牛的体重排列成一棵二叉搜索树,假设所有牛的体重都不同。现在牧场主想知道牛群中任意两牛体重之间的最小差值。请你编写一个程序,给定一棵二叉搜索树的根节点 root,返回树中任意两不同节点值之间的最小差值,这个体重差至少是个正数。
import java.util.*; /* * public class TreeNode { * int val = 0; * TreeNode left = null; * TreeNode right = null; * public TreeNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param root TreeNode类 * @return int整型 */ public int getMinimumDifference (TreeNode root) { ArrayList<Integer> list=dfs(root); int ans=10001; for(int i=1;i<list.size();i++){ int val=list.get(i)-list.get(i-1); if(val<ans) ans=val; } return ans; } public ArrayList<Integer> dfs(TreeNode root){ ArrayList<Integer> list=new ArrayList<>(); if(root==null) return list; list.addAll(dfs(root.left)); list.add(root.val); list.addAll(dfs(root.right)); return list; } }
34:14
以上就是关于问题在一个牧场中,有很多牛。为了方便管理,牧场主将牛的体重排列成一棵二叉搜索树,假设所有牛的体重都不同。现在牧场主想知道牛群中任意两牛体重之间的最小差值。请你编写一个程序,给定一棵二叉搜索树的根节点 root,返回树中任意两不同节点值之间的最小差值,这个体重差至少是个正数。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训