1. 二叉树的深度
输入一棵二叉树的根节点,求该树的深度。从根节点到叶节点依次经过的节点(含根、叶节点)形成树的一条路径,最长路径的长度为树的深度。
例如:给定二叉树 [3,9,20,null,null,15,7],3/ \9 20/ \15 7返回它的最大深度 3 。
思路:
- 递归探索
记录当层的层数,进行递归传递,然后分别获取左右探索得到的值,进行比较大小,返回更大的值。
class Solution { public int maxDepth(TreeNode root) { int count = 1; if(root!=null){ return operation(count,root); } return 0; } // 递归探索 private int operation(int count,TreeNode node){ int num1 = count; int num2 = count; if(node.left!=null){ num1 = operation(count+1,node.left); } if(node.right!=null){ num2 = operation(count+1,node.right); } return Math.max(num1,num2); } }
