//最深 public int maxDepth(TreeNode root) { return traveel(root, 0, 0); } public int traveel(TreeNode node, int max, int dep){ if (node == null) return max; dep++; if (node.left == null && node.right == null){ //到达最低节点,判断最大值 return Math.max(dep, max); }else{ return Math.max(traveel(node.left, max, dep), traveel(node.right, max, dep)); } }
//最浅 public int minDepth(TreeNode root) { if (root == null) return 0; return traveel(root, Integer.MAX_VALUE, 0); } public int traveel(TreeNode node, int min, int dep){ if (node == null) return min; dep++; if (node.left == null && node.right == null){ //到达最低节点,判断最大值 return Math.min(dep, min); }else{ return Math.min(traveel(node.left, min, dep), traveel(node.right, min, dep)); } }