leetcode[111]Minimum Depth of Binary Tree

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 minDepth(TreeNode *root) {

        if(root==NULL)return 0;

        if(root->left==NULL&&root->right==NULL)return 1;

        if(root->left!=NULL&&root->right==NULL)return 1+minDepth(root->left);

        if(root->left==NULL&&root->right!=NULL)return 1+minDepth(root->right);

        int leftd=1+minDepth(root->left);

        int rightd=1+minDepth(root->right);

        return leftd<rightd?leftd:rightd;

    }

};

 

你可能感兴趣的:(LeetCode)