题解 | #二叉搜索树最小差值#

二叉搜索树最小差值

https://www.nowcoder.com/practice/f8ac976b49bd450887b9281f315186c7

public class MinDifference {
	
	private List<Integer> list = new ArrayList<Integer>();
	
	public int minDifference(TreeNode root) {
		// write code here
        // 二叉搜索树中序遍历之后变成集合是从小到大的,所以先变成集合
		creteList(root);
        // 动态规划找出最小值
		int min = list.get(1)-list.get(0);
		for (int i = 1; i < list.size(); i++) {
			int nowMin = Math.abs(list.get(i)-list.get(i-1));
			if (nowMin < min) {
				min = nowMin;
			}
		}
		return min;
	}
	
	
	public void creteList(TreeNode root) {
		if (root == null) {
			return ;
		}
		creteList(root.left);
		list.add(root.val);
		creteList(root.right);
	}
	
}

#算法题#
全部评论

相关推荐

如题,这操作。。。。
真烦好烦真烦:既想享受国家的招聘应届生福利,又不想培养新人,我只能说这种企业的ld太过分了
投递美的集团等公司10个岗位 >
点赞 评论 收藏
分享
ResourceUtilization:我嘞个董事长
点赞 评论 收藏
分享
ming_ri:“很抱歉,您的简历和我们当前的职位需求不是很匹配”
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务