欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【Leetcode刷题篇】leetcode530 二叉搜索树的最小绝对差

程序员文章站 2022-04-24 16:28:36
...

题目:给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。
【Leetcode刷题篇】leetcode530 二叉搜索树的最小绝对差

思路:中序遍历,对中间进行操作。

package com.lcz.leetcode;
/**
 * 二叉搜索树的最小绝对差
 * @author LvChaoZhang
 *
 */
public class Leetcode530 {
	class TreeNode{
		int val;
		TreeNode left;
		TreeNode right;
		TreeNode(int x){
			val = x;
		}
	}
	
	int min = Integer.MAX_VALUE;
	TreeNode pre;
	public int getMinimumDifference(TreeNode root) {
		inorder(root);
		return min;
    }
	
	private void inorder(TreeNode root) {
		// 递归截止条件
		if(root==null) {
			return;
		}
		// 左子树
		inorder(root.left);
		
		// 对当前节点的操作
		if(pre!=null) {
			min = Math.min(min, root.val-pre.val);
		}
		pre = root;
		// 右子树
		inorder(root.right);
	}
}