題目
給定一個二叉樹,找出其最大深度。
二叉樹的深度爲根節點到最遠葉子節點的最長路徑上的節點數。
代碼
/**
* 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;
}
}
深度搜索的思路,尋找到最底部的葉節點,然後計數,每一次選擇左右節點中的最大深度向上計數。
算法的知識真的是用進廢退,太久不用了,現在像當初學的時候一樣,一知半解,大概有點想法又不確定具體該怎麼寫,刷題還是不能停呀。