【Leetcode刷题篇】leetcode530 二叉搜索树的最小绝对差
程序员文章站
2022-04-24 16:28:36
...
题目:给你一棵所有节点为非负值的二叉搜索树,请你计算树中任意两节点的差的绝对值的最小值。
思路:中序遍历,对中间进行操作。
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);
}
}
上一篇: 25. K 个一组翻转链表
下一篇: 二叉搜索树的最小绝对差(530)