530. Minimum Absolute Difference in BST

yuKeon·2023년 9월 7일
0

LeetCode

목록 보기
24/29
post-thumbnail

[LeetCode/Java]

0. 문제

https://leetcode.com/problems/minimum-absolute-difference-in-bst/?envType=study-plan-v2&envId=top-interview-150


1. 문제 설명

  • BST의 루트가 주어지면 서로 다른 두 노드 값 간의 최소 차이를 절대값으로 반환하시오.

2. 문제 풀이

2.1. 접근법

  • 중위순회를 사용해서 노드 간 절대값의 최소 차이를 반환하시오.
/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode() {}
 *     TreeNode(int val) { this.val = val; }
 *     TreeNode(int val, TreeNode left, TreeNode right) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */

class Solution {
    int min = Integer.MAX_VALUE;
    Integer prev = null;

    public int getMinimumDifference(TreeNode root) {
        if(root == null) return min;

        getMinimumDifference(root.left);

        if(prev != null) min = Math.min(min, root.val - prev);

        prev = root.val;

        getMinimumDifference(root.right);
        
        return min;
    }
}

4. 결과


0개의 댓글