Programming/C C++

[DS] Tree: Height of a Binary Tree

이진 트리의 높이(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

'Programming > C C++' 카테고리의 다른 글

Cats and a Mouse  (0) 2020.11.22
[DS] Delete duplicate-value nodes from a sorted linked list  (0) 2020.11.08
[DS] Print in Reverse  (0) 2020.11.08
Angry Professor  (2) 2020.11.08
Eletronics Shop  (0) 2020.11.08