HackerRank/Data Structures

[HackerRank C] Tree : Inorder Traversal

ruming 2021. 6. 27. 23:32

 

중위순회(Inorder)

left -> root -> right

왼쪽자식노드 -> 부모노드 -> 오른쪽 자식노드순으로 방문한다.

 

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

노드가 null이 아닌 것에 주의한다.

left 노드를 먼저 방문하고 root 일 때 data를 출력한다. 마지막으로 right 노드를 방문한다.

재귀적으로 함수를 사용해 해결해주었다.