Leetcode/Top 100 Liked

[Binary Tree][Easy] 104. Maximum Depth of Binary Tree

자전거통학 2024. 3. 12. 08:40

https://leetcode.com/problems/maximum-depth-of-binary-tree/description

 

Q. 해당 binary tree의 최대 depth 를 찾아라. 

 

Solution. 

 직관적으로 접근한다. 

  Depth first로 tree를 traverse 하고,  node가 valid 할 때까지 depth를 증가 시킨다.

  Tree는 left, right leafe가 있으므로, 둘 중 더 큰 depth만 위로 반환한다. 

 

더보기
int maxDepth_BT(TreeNode* node, int maxDepth)
{
    if (node == NULL)	
        return maxDepth;

    int maxL = maxDepth_BT(node->left, maxDepth + 1);
    int maxR = maxDepth_BT(node->right, maxDepth + 1);
    return max(maxL, maxR);
}

int maxDepth(TreeNode* root) 
{   
    return maxDepth_BT(root, 0);
}

 

결과.