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

이도희·2023년 4월 30일
0

알고리즘 문제 풀이

목록 보기
65/185

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

📕 문제 설명

이진 트리 주어졌을 때 최소 depth 반환

depth : root ~ 근처 leaf 노드 까지의 최소 길이

  • Input
    트리 root 노드
  • Output
    최소 depth

예제

풀이

node traverse하면서 child depth 받고, 그 중 가장 작은 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 MinDepth(TreeNode root) {
        if (root == null) return 0;
        return Traverse(root, 1);
    }

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

결과

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

0개의 댓글