[leetcode]Minimum Depth of Binary Tree

来源:互联网 发布:在淘宝网上怎么退款 编辑:程序博客网 时间:2024/05/01 05:12

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.

/** * Definition for binary tree * struct TreeNode { *     int val; *     TreeNode *left; *     TreeNode *right; *     TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */class Solution {public:    int dfs(TreeNode *root){        if(!root-> left && !root->right) return 1;             if(root -> left && !root -> right) return dfs(root -> left) + 1;        if(!root -> left && root -> right) return dfs(root -> right) + 1;                return min(dfs(root->left), dfs(root->right)) + 1;            }    int minDepth(TreeNode *root) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        if(!root) return 0;                return dfs(root);        }};