[剑指offer]5.二叉树的深度

题目连接:戳这里
题目描述:输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次通过的节点(含根、叶节点)造成树的一条路径,最长路径的长度为树的深度。
解题思路:分别递归左右子树节点。
java代码:java

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
    public int maxDepth(TreeNode root) {
            int ans=0;
            int tmp=0;
            if(root==null){
                return 0;
            }else{
                return calculateDepth(root);
            }
        }
        public int calculateDepth(TreeNode root){
            int sum=0;
            int left=0;
            int right=0;
            if(root!=null){
                sum++;
                left=calculateDepth(root.left);
                right=calculateDepth(root.right);
                if(left>right){
                    sum=sum+left;
                }else
                    sum=sum+right;
            }else{
                sum=sum+0;
            }
            return sum;
        }
}
相关文章
相关标签/搜索