题解 | 二叉树的最大深度
二叉树的最大深度
https://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* public TreeNode(int val) {
* this.val = val;
* }
* }
*/
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param root TreeNode类
* @return int整型
*/
public int maxDepth (TreeNode root) {
// write code here
//层序遍历可以解决
if(root == null){
return 0;
}
Queue<TreeNode> q = new LinkedList<>();
int depth = 0;
q.add(root);//根节点入队
while(!q.isEmpty()){
int size = q.size();
for(int i = 0; i < size; i ++){
TreeNode node = q.poll();//出队
if(node.left != null){
q.add(node.left);
}
if(node.right != null){
q.add(node.right);
}
}
depth ++;
}
return depth;
}
}

查看6道真题和解析