leetcode刷题记录-104.二叉树的最大深度[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) {
        if (root == null){
            return 0;
        }
        int rightdepth = maxDepth(root.right);
        int leftdepth = maxDepth(root.left);
        return java.lang.Math.max(rightdepth, leftdepth) + 1;
    }
}

深度搜索的思路,寻找到最底部的叶节点,然后计数,每一次选择左右节点中的最大深度向上计数。

算法的知识真的是用进废退,太久不用了,现在像当初学的时候一样,一知半解,大概有点想法又不确定具体该怎么写,刷题还是不能停呀。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章