【剑指offer Day18】55.二叉树的深度
原题链接
分析
这一道题考察二叉树的深度优先遍历(dfs)。
使用一个全局变量depth记录目前所遍历过的最大深度。每次遍历完叶子结点走到null时,更新depth;否则,继续遍历左右子树。
代码
/**
* Definition for a binary tree node.
* public class TreeNode {
* int val;
* TreeNode left;
* TreeNode right;
* TreeNode(int x) { val = x; }
* }
*/
class Solution {
int depth=0;
public void dfs(TreeNode root,int k){
if(root==null){
depth=Math.max(depth,k);
return;
}
dfs(root.left,k+1);
dfs(root.right,k+1);
}
public int maxDepth(TreeNode root) {
dfs(root,0);
return depth;
}
}
今日motto
习惯将成为人的第二天性