二叉树的深度-剑指offer系列
Posted IT小磊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的深度-剑指offer系列相关的知识,希望对你有一定的参考价值。
点击关注上方"IT小磊"
设为"星标或置顶"
题目描述
输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。
解题思路
递归。当根节点为空,则深度为0;不为0时,则深度为1+左右子树深度的较大值。
代码示例
public class Offer39 {
public static void main(String[] args) {
//构建二叉树
TreeNode root = new TreeNode(1);
root.left = new TreeNode(2);
root.right = new TreeNode(3);
root.left.left = new TreeNode(4);
root.left.right = new TreeNode(5);
root.right.left = new TreeNode(6);
root.right.right = new TreeNode(7);
Offer39 testObj = new Offer39();
System.out.println(testObj.TreeDepth(root));
}
public int TreeDepth(TreeNode root) {
if (root == null) {
return 0;
}
return 1 + Math.max(TreeDepth(root.left), TreeDepth(root.right));
}
static class TreeNode {
int val;
TreeNode left;
TreeNode right;
TreeNode(int val) {
this.val = val;
}
}
}
IT小磊
以上是关于二叉树的深度-剑指offer系列的主要内容,如果未能解决你的问题,请参考以下文章