[劍指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;
        }
}
相關文章
相關標籤/搜索