본문 바로가기

c언어 스터디/HackerRank

[HackerRank] Tree: Inorder Traversal

Tree: Inorder Traversal | HackerRank

 

Tree: Inorder Traversal | HackerRank

Print the inorder traversal of a binary tree.

www.hackerrank.com

 

<문제>

input으로 들어온 트리를 inorder 방식으로 출력하는 문제이다.

 

 

<코드>

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

<풀이>

저번의 postorder과는 다르게 inorder은 left->root->right, 왼쪽 자식 노드, 부모 노드, 오른쪽 자식 노드 순서로 살펴본다. 이번에도 재귀호출 방법을 사용해 문제를 풀었다. root가 null이 아닐때까지 inOrder(root->left)를 재귀호출하여 트리의 가장 왼쪽에 있는 노드로 도착하고 데이터값을 출력한다. 이후에는 오른쪽으로 이동하면서 출력하여 문제를 풀 수 있었다.

 

<실행결과>

'c언어 스터디 > HackerRank' 카테고리의 다른 글

[HackerRank] Equal Stacks  (0) 2021.11.07
[HackerRank] Printing Tokens  (0) 2021.11.07
[hackerrank] Students Marks Sum  (0) 2021.10.10
[HackerRank] Bitwise Operators  (0) 2021.10.02
[HackerRank] Tree: Postorder Traversal  (0) 2021.10.02