题解 | #二叉树的最大深度#
二叉树的最大深度
http://www.nowcoder.com/practice/8a2b2bf6c19b4f23a9bdb9b233eefa73
import java.util.*;
/*
* public class TreeNode {
* int val = 0;
* TreeNode left = null;
* TreeNode right = null;
* }
*/
public class Solution {
/**
*
* @param root TreeNode类
* @return int整型
*/
public int maxDepth (TreeNode root) {
if (root == null) {
return 0;
}
List<String> list = new ArrayList<>();
dfs2(root, list , "");
System.out.println(list);
int maxDepth = list.stream().reduce((String a, String b) -> a.length() > b.length() ? a : b).get().length();
return maxDepth;
}
private void dfs2(TreeNode node, List<String> list, String temp) {
TreeNode left = node.left;
TreeNode right = node.right;
temp = temp + 1;
if (left != null) {
dfs2(left, list, temp);
}
if (right != null) {
dfs2(right, list, temp);
}
if(left == null && right == null) {
list.add(temp);
}
}
}
查看17道真题和解析