二叉树的深度

it2023-11-11  75

题目:

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。

思路:

树的遍历通常有前中后序三种(这里不考虑按层),都是递归实现所以题目可以理解为,记录包含根结点在内的每个结点能够递归的最大次数,取较大值

代码:

/** public class TreeNode { int val = 0; TreeNode left = null; TreeNode right = null; public TreeNode(int val) { this.val = val; } } */ public class Solution { public int TreeDepth(TreeNode root) { if(null==root){ return 0; } int leftDepth = TreeDepth(root.left); int rightDepth = TreeDepth(root.right); // 只要当前结点有子结点,深度必然最小为1 return Math.max(leftDepth, rightDepth)+1; } }

最新回复(0)