이진트리의 복사와 검사

honeyricecake·2022년 4월 25일
0
  1. Copying Binary Trees
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 리턴

0개의 댓글