二叉树的深度_算法系列之-二叉树的深度

题目来源:剑指offer

01 题目描述

输入一颗二叉树,求该二叉树的深度。从根节点到页子节点形成一条路径。最长的路径时二叉树的深度。

2f483eacd1842022dae1ea2ac8c0529b.png

如上图,改树最长的路径为1,2,5,7 深度为4。

02 解题1

a352754f2549bab9d5e00baa72afd107.png

边深度遍历边把长度加1,遍历完左右子树,将最大的作为当前节点所对应的深度。

03 代码

public int binaryTreeDepth(BinaryTreeNode treeNode) { if (treeNode == null) { return 0; } return binaryTreeDepth(treeNode, 0);}public int binaryTreeDepth(BinaryTreeNode treeNode, int depth) { if (treeNode == null) { return depth; } int leftDepth = binaryTreeDepth(treeNode.left, depth + 1); int rightDepth = binaryTreeDepth(treeNode.right, depth + 1); return leftDepth > rightDepth ? leftDepth : rightDepth;}

牛客网代码验证地址 https://www.nowcoder.com/practice/435fb86331474282a3499955f0a41e8b?tpId=13&tqId=11191&rp=2&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值