어흥

[해커랭크] Tree: Height of a Binary Tree (C++) 본문

알고리즘/HackerRank

[해커랭크] Tree: Height of a Binary Tree (C++)

라이언납시오 2021. 1. 20. 15:39
728x90
반응형

문제 링크: www.hackerrank.com/challenges/tree-height-of-a-binary-tree/problem?h_r=internal-search

 

Tree: Height of a Binary Tree | HackerRank

Given a binary tree, print its height.

www.hackerrank.com

1. 주의할 점

- 바이너리 트리의 형태에 대해 알고 있어야 한다

 

2. 구현

- 바이너리 트리는 최대 자식이 2개가 있는 트리로, 한쪽으로 치우쳐져 있을 수 있다

- 현재 Node의 높이를 나타내는 cur를 0으로 설정하고, 왼쪽이나 오른쪽에 자식이 있다면 cur과 자식의 높이+1을 비교하여 큰 값을 cur에 저장한 이후, cur를 리턴한다

 

int height(Node* root) {
    int cur = 0;
    if(root->left!=nullptr)
        cur = height(root->left)+1;
    if(root->right!=nullptr)
        cur = max(cur, height(root->right)+1);
    return cur;
}
728x90
반응형
Comments