leetcode|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.

题目:意思很明确,求二叉树的深度

思路:一看到二叉树,几乎本能的想到的是递归,于是按照这个思路搞了一版,没想到Accept的时候,报Time Exceeded Limit,效率不行。。。。于是优化之如下:

/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
public class Solution {
  public int maxDepth(TreeNode root) {
    if (root == null) {//递归出口
    return 0;
  }
  int left = maxDepth(root.left);//左边多深
  int right = maxDepth(root.right);//右边呢
  if (left > right) {//比较一番,左边深
    return 1+left;
   } else {//好像还是右边深
    return 1+right;
   }
  }
}

posted @ 2016-07-14 13:40  Roger's  阅读(94)  评论(0编辑  收藏  举报