Balanced Tree
Coddy의 이진 트리 - 자료구조 시리즈 #3 코스 레슨 — 13개 중 11번째.
다음 챌린지들은 여러분이 구축한 BinaryTree를 사용합니다. 제공된 구현을 사용하여 문제를 해결하세요.
챌린지
쉬움BinaryTree를 나타내는 문자열(재귀적인 [value, leftSubtree, rightSubtree] 형식이며, 비어 있는 경우 null로 표시)을 인자로 받아, 해당 트리가 균형 잡힌 트리이면 true를, 그렇지 않으면 false를 반환하는 isBalanced라는 이름의 함수를 작성하세요. 모든 노드에 대해 두 서브트리의 높이 차이가 최대 1 이내일 때 그 트리를 균형 잡힌 트리라고 합니다.
직접 해보기
#include <stdio.h>
#include <string.h>
#include "solution.h"
int main() {
char s[4096];
if (!fgets(s, sizeof(s), stdin)) s[0] = '\0';
s[strcspn(s, "\r\n")] = '\0';
printf("%s\n", isBalanced(s) ? "true" : "false");
return 0;
}