Build Tree
Coddyの「二分木 - データ構造シリーズ #3」コースのレッスン 6/13。
チャレンジ
簡単BinaryTree に、ツリーの再帰的な文字列表現([value, leftSubtree, rightSubtree]、空の場合は null)を受け取り、ツリーを構築するメソッド buildTree を追加してください。
自分で試してみよう
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "binarytree.h"
void rtl(Node* n) {
if (n == NULL) return;
printf("%d\n", Node_getValue(n));
rtl(Node_getRight(n));
rtl(Node_getLeft(n));
}
int main() {
char buf[4096];
if (!fgets(buf, sizeof(buf), stdin)) buf[0] = '\0';
buf[strcspn(buf, "\r\n")] = '\0';
BinaryTree bt;
BinaryTree_init(&bt);
BinaryTree_buildTree(&bt, buf);
rtl(BinaryTree_getRoot(&bt));
return 0;
}
二分木 - データ構造シリーズ #3のすべてのレッスン
2Binary Tree Project
Node ClassNode with Sons