본문 바로가기

c언어 스터디/HackerRank

[HackerRank] Tree: Postorder Traversal

Tree: Postorder Traversal | HackerRank

 

Tree: Postorder Traversal | HackerRank

Print the post order traversal of a binary tree.

www.hackerrank.com

 

<문제>

 트리를 입력받아 postorder로 출력하는 문제이다.

 

 

<코드>

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

}

 

<풀이>

postorder은 왼쪽 노드, 오른쪽 노드, 자신 노드 순으로 살펴보는 후위운행방법이다.  재귀함수방법을 이용해서 매개변수로 입력받은 root가 left를 쭉 실행해서 가장 왼쪽에 있는 노드를 살펴보고, 그 다음에는 오른쪽에 있는 노드들을 모두 살펴보도록 하면 postorder 방식을 구현할 수 있을 것 같았다. postOrder(root->left); postOrder(root->right);를 통해 이를 구현하였고 root-> data를 통해 해당 값을 출력하여 문제를 풀 수 있었다.

 

 

<실행결과>

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

[hackerrank] Students Marks Sum  (0) 2021.10.10
[HackerRank] Bitwise Operators  (0) 2021.10.02
[HackerRank] Find Digits  (0) 2021.09.26
[HackerRank] Sorting-Running Time of Algorithms  (0) 2021.09.26
[HackerRank] Day of the Programmer  (0) 2021.09.18