package Second; /** * 题目: * 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径, * 最长路径的长度为树的深度。 */ public class P271_GetTreeDepth { public int TreeDepth(TreeNode root){ if (root == null) { return 0; } int leftDepth = TreeDepth(root.left); int rightDepth = TreeDepth(root.right); return leftDepth > rightDepth ? leftDepth + 1 : rightDepth + 1; } public static void main(String[] args) { TreeNode node1 = new TreeNode(1); TreeNode node2 = new TreeNode(2); TreeNode node3 = new TreeNode(3); TreeNode node4 = new TreeNode(4); TreeNode node5 = new TreeNode(5); TreeNode node6 = new TreeNode(6); TreeNode node7 = new TreeNode(7); node1.left = node2; node1.right = node3; node2.left = node4; node2.right = node5; node5.left = node7; node3.right = node6; P271_GetTreeDepth test = new P271_GetTreeDepth(); int result = test.TreeDepth(node1); System.out.println(result); } }
剑指offer:二叉树的深度(java)
猜你喜欢
转载自blog.csdn.net/Sunshine_liang1/article/details/82872474
今日推荐
周排行