중위순회(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 노드를 방문한다.
재귀적으로 함수를 사용해 해결해주었다.
'HackerRank > Data Structures' 카테고리의 다른 글
[HackerRank] Linked Lists > Insert a Node at the Tail of a Linked List (0) | 2021.09.26 |
---|---|
[HackerRank] Linked Lists > Print the Elements of a Linked List (0) | 2021.08.14 |
[HackerRank C] Tree : Postorder Traversal (0) | 2021.06.27 |
[HackerRank C] Tree : Preoreder Traversal (0) | 2021.06.27 |
[HackerRank(C)] Arrays : Left Rotation (0) | 2021.05.29 |