# Leetcode 111. Minimum Depth of Binary Tree (C語言) - 題目 Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. Note: A leaf is a node with no children. - 範例 ``` Example: Given binary tree [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 return its minimum depth = 2. ``` ```c int minDepth(struct TreeNode* root){ if(!root)return 0; if(!root->left && !root->right)return 1; else if(!root->left){ return 1+minDepth(root->right); } else if(!root->right){ return 1+minDepth(root->left); } return 1+fmin(minDepth(root->left),minDepth(root->right)); } ``` 思路:空樹回傳0,左右子點為空代表只有自己是leaf回傳1,否則表示有子樹。 1. 如果左子樹為空,回傳1+最小右子樹樹高 2. 如果右子樹為空,回傳1+最小左子樹樹高 3. 左右子樹皆不為空,回傳1+左右子樹樹高較小者。