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;
    }
}

深度搜索的思路,尋找到最底部的葉節點,然後計數,每一次選擇左右節點中的最大深度向上計數。

算法的知識真的是用進廢退,太久不用了,現在像當初學的時候一樣,一知半解,大概有點想法又不確定具體該怎麼寫,刷題還是不能停呀。

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