二叉树的深度是什么(二叉树的深度遍历)

题目来源:剑指offer

01 题目描述

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

二叉树的深度是什么(二叉树的深度遍历)

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

02 解题1

二叉树的深度是什么(二叉树的深度遍历)

边深度遍历边把长度加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

本文内容源自网友投稿,多成号仅提供信息存储服务不拥有所有权。如有侵权,请联系站长删除。qq97伍4伍0叁11