HackerRank/Data Structures

[HackerRank C] Tree : Postorder Traversal

ruming 2021. 6. 27. 23:23

이번엔 Postorder, 후위순회 문제이다.

 

후위순회 순서는 다음과 같다.

왼쪽 자식 노드 -> 오른쪽 자식 노드 -> 부모노드

[left -> right -> root]

 

void postOrder( struct node *root) {
    if(root->left)
        postOrder(root->left);
    if(root->right)
        postOrder(root->right);
    if(root)
        printf("%d ", root->data);
}

노드가 null이 되지 않게 주의한다. (if문으로 처리)

첫번째로 left노드, 두번째로 right노드를 돈다. 마지막으로 root를 도는데 이 때 data를 출력해준다.