Minimum Absolute Difference in BST

bong bong·2023년 9월 8일

알고리즘

목록 보기
10/31

요구사항

rootBST(이진 검색 트리)가 주어 지면 트리에 있는 두 개의 다른 노드 값 간의 최소 절대 차이를 반환합니다 .

알고리즘 풀이 생각

중위로드를 주면 저장되어있는 앞 로드와 뒤로드의 차의 절대값을 구해볼까?

  1. 앞로드 뒷 로드 저장
class TreeNode {
    int val;
    TreeNode left;
    TreeNode right;
    
    TreeNode(int val) {
        this.val = val;
    }
}

초기값 설정

private int minDiff = Integer.MAX_VALUE;
private TreeNode prevNode = null;

로드 탐색

왼쪽로드와 오른쪽 로드를 재귀함수를 통해 탐색한다.

f (node == null) {
            return;
        }
        로드가 없으면 돌려보내주고
        
        inorderTraversal(node.left);
        제귀함수를통해 왼쪽 탐색
        if (prevNode != null) {
            minDiff = Math.min(minDiff, node.val - prevNode.val);
        }
        최솟값 검색
        
        prevNode = node;
        초기화
        
        inorderTraversal(node.right);
		오른쪽 탐색 
profile
let's go invent tomorrow rather than worrying about what happened yesterday - Steven Paul Jobs

0개의 댓글