34: Maximum Depth of Binary Tree

/************************************************************************/
        /*       34:     Maximum Depth of Binary Tree                                        */
        /************************************************************************/
        /*
         * Given a binary tree, find its maximum depth.

The maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.
         * */
      //求根节点到叶子节点的最短路径 递归
        // 左边或者右边没有叶子节点时,需要特殊处理

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

 

posted @ 2015-01-27 21:50  Star Yoda  阅读(89)  评论(0编辑  收藏  举报