35: Minimum Depth of Binary Tree

/************************************************************************/
        /*       35:     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.
         * */
        
        //求根节点到叶子节点的最短路径 递归
        // 左边或者右边没有叶子节点时,需要特殊处理

 

public  int minDepth(TreeNode root)
        {
             if (root == null)
             {
                 return 0;
             }
             if (root.left==null
                     &&root.right==null
                     )
                 {
                     return 1;
                 }
             int a=minDepth(root.left);
             int b=minDepth(root.right);
             if(a>0&&b>0)
             {
                 return Math.min(a, b)+1;
             }
             return a+b+1;
                
        }

 

posted @ 2015-01-27 21:51  Star Yoda  阅读(87)  评论(0)    收藏  举报