WEI-CHENG CHEN

解法

class Solution {
public:
    int DFS(TreeNode* root){
        if(!root) return 0;

        // 先由根結點往下伸
        int left_subtree = DFS(root->left);
        int right_subtree = DFS(root->right);

        // 跟110不同的是,節點0不能算 => 要先確認他不是空節點,再算min
        if (!root->left) return right_subtree + 1; // 如果 左子樹為空:只能走右子樹(return right + 1)
        if (!root->right) return left_subtree + 1; // 如果 右子樹為空:只能走左子樹(return left + 1)
        return min(left_subtree, right_subtree) + 1; // 如果 左右子樹都存在
    }
    int minDepth(TreeNode* root) {
        return DFS(root);
    }
};