어흥
[해커랭크] Tree: Height of a Binary Tree (C++) 본문
728x90
반응형
문제 링크: www.hackerrank.com/challenges/tree-height-of-a-binary-tree/problem?h_r=internal-search
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
반응형
'알고리즘 > HackerRank' 카테고리의 다른 글
[해커랭크] Binary Search Tree : Insertion (C++) (0) | 2021.01.20 |
---|---|
[해커랭크] Tree: Level Order Traversal (C++) (0) | 2021.01.20 |
[해커랭크] Preorder, Inorder, Postorder traversal (C++) (0) | 2021.01.20 |
[해커랭크] Find Merge Point of Two Lists (C++) (0) | 2021.01.15 |
[해커랭크] Delete duplicate-value nodes from a sorted linked list (C++) (0) | 2021.01.15 |
Comments