treePointer copy(treePointer original)
{
treePointer temp;
if(original) // original 노드가 NULL이 아니면
{
temp = malloc(sizeof(treeNode));
temp->leftChild = copy(original->leftChild);
temp->rightChild = copy(original->rightChild);
return temp;
}
return NULL;
}
2.Testing for Equality of Binary Trees
int equal (treePointer first, treePointer second)
{
return (!first && !second) || (first && second && first->data == second->data) && equal(first->leftChild, second->leftChild) && equal(first->rightChild, second->rightChild)
}
이 함수는
둘 다 NULL이면 true 리턴
둘 다 NULL이 아니고 두 개의 데이터가 같고 left 서브트리와 right 서브트리가 같으면 true 리턴