[刷题记录Day21]Leetcode

番茄随想 / 2023-08-26 / 原文

No.1

题目

二叉搜索树的最小绝对差

思路

  • 中序遍历的BST是有序序列
  • 最小绝对差一定是在相邻的数组元素间

代码

public void inorderTraverse(TreeNode node, List<Integer> seq) {  
    if (node == null)  
        return;  
  
    inorderTraverse(node.left, seq);  
    seq.add(node.val);  
    inorderTraverse(node.right, seq);  
}  
  
public int getMinimumDifference(TreeNode root) {  
    List<Integer> inorderSeq = new ArrayList<>();  
    inorderTraverse(root, inorderSeq);  
  
    int min = Integer.MAX_VALUE;  
    for (int i = 1; i < inorderSeq.size(); i++) {  
        if (Math.abs(inorderSeq.get(i) - inorderSeq.get(i-1)) < min)  
            min = Math.abs(inorderSeq.get(i) - inorderSeq.get(i-1));  
    }  
  
    return min;  
}

No.1

题目

二叉搜索树中的众数

思路

  • 递归中序遍历BST
  • 众数都靠在一起的

代码