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->right==NULL && root->left==NULL) return 1;

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

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

        

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

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

        return dep1<dep2?dep1:dep2;

    }

    

};

 

你可能感兴趣的:(binary)