222. Count Complete Tree Nodes
이진 트리에서 노드의 수를 세는 문제입니다. 이 문제에서는 완전 이진 트리의 루트가 주어지고, 트리에 있는 노드의 수를 반환해야 합니다. 완전 이진 트리는 모든 레벨이 완전히 채워져 있고, 마지막 레벨의 모든 노드는 가능한 한 왼쪽에 있습니다. 마지막 레벨 h에서 노드의 수는 1과 2h 사이입니다. 이 문제를 해결하기 위한 알고리즘은 O(n)보다 작은 시간 복잡도를 가져야 합니다. 예시: 예시 1: 입력: root = [1,2,3,4,5,6], 출력: 6 예시 2: 입력: root = [], 출력: 0 예시 3: 입력: root = 1, 출력: 1 제약 조건: 트리의 노드 수는 범위 [0, 5 * 10^4] 내에 있습니다. 0 /** * Definition for a binary tree node. * ..
2024. 4. 22.
98. Validate Binary Search Tree
이진 트리가 유효한 이진 탐색 트리(Binary Search Tree, BST)인지 판별하는 것입니다. 노드의 왼쪽 서브트리에는 노드의 키보다 작은 키를 가진 노드만 포함되어 있습니다. 노드의 오른쪽 서브트리에는 노드의 키보다 큰 키를 가진 노드만 포함되어 있습니다. 왼쪽과 오른쪽 서브트리 모두 이진 탐색 트리여야 합니다. 예시 1: 입력: root = [2,1,3], 출력: true 예시 2: 입력: root = [5,1,4,null,null,3,6], 출력: false. 설명: 루트 노드의 값은 5이지만, 그 오른쪽 자식 노드의 값은 4입니다. 트리의 노드 수는 범위 [1, 10^4] 내에 있습니다. 노드의 값은 -2^31
2024. 4. 17.