<Easy> Maximum Depth of Binary Tree (LeetCode : C#)

이도희·2023년 4월 21일
0

알고리즘 문제 풀이

목록 보기
59/185

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

📕 문제 설명

이진 트리의 root가 주어질 때 최대 depth 반환

depth : root ~ leaf 중 가장 긴 길이

  • Input
    이진 트리의 root 노드
  • Output
    최대 depth

예제

풀이

왼쪽 오른쪽 타고 가면서 depth 1씩 증가시키기 -> 최종적으로 제일 멀리 갔을 때 depth 반환

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     public int val;
 *     public TreeNode left;
 *     public TreeNode right;
 *     public TreeNode(int val=0, TreeNode left=null, TreeNode right=null) {
 *         this.val = val;
 *         this.left = left;
 *         this.right = right;
 *     }
 * }
 */
public class Solution {
    public int MaxDepth(TreeNode root) {

        if (root == null) return 0;

        return GetDepth(root, 1);
        
    }

    public int GetDepth(TreeNode node, int depth)
    {
        if (node.left != null && node.right != null)
        {
            return Math.Max(GetDepth(node.left, depth + 1), GetDepth(node.right, depth + 1));
        }
        else if (node.left != null) return GetDepth(node.left, depth + 1);
        else if (node.right != null) return GetDepth(node.right, depth + 1);

        return depth;
    }
    
}

결과

profile
하나씩 심어 나가는 개발 농장🥕 (블로그 이전중)

0개의 댓글