Programming/C C++

[DS] Tree: Height of a Binary Tree

ElAsJay 2020. 11. 23. 04:02
728x90

이진 트리의 높이(height)를 구하는 함수를 작성해야한다.

트리의 높이는 root 노드를 0으로 두고 아래로 한 층씩 내려갈 수록 1을 더해나가고 최말단 노드까지의 거리로 한다.

 

int getHeight(struct node* root) {
    // Write your code here
    if(root == NULL)    return -1;
    int m = getHeight(root->left)>getHeight(root->right)?getHeight(root->left):getHeight(root->right);
    return m+1;
}

재귀문을 이용해 반복적으로 트리를 탐색할 수 있도록 했다.

그리고 root가 null일 때의 조건에서 -1을 리턴하면서 트리의 높이가 0부터 시작된다는 부분을 고려하도록 했다.

 

SMALL