本期,边肖将为您带来关于如何找出python二叉树最大深度的信息。文章内容丰富,从专业角度进行分析和描述。希望你看完这篇文章能有所收获。
1.问题的简要描述
给定一棵二叉树,找出它的最大深度。二叉树的深度是从根节点到最远叶节点的最长路径上的节点数。描述:叶节点是指没有子节点的节点。
2 .示例
给定二叉树[3,9,20,null,null,15,7],3/\ 9 20/\ 15 7返回其最大深度3。
3、解决思路
按照递归的方法,根据队列的特点也用另一种方法来解决问题,但是队列的耗时方法是相当明显的。
4、问题解决程序
导入Java . util . LinkedList;导入Java . util . queue;公共类MaxDepthTest2 { public static void main(String[]args){ tree node t1=new tree node(3);TreeNode t2=新的tree node(9);TreeNode t3=新的tree node(20);TreeNode t4=新的tree node(15);TreeNode t5=新的tree node(7);t1.left=t2t1.right=t3t3.left=t4t3.right=t5int MaxDepth=MaxDepth 3(t1);system . out . println(' MaxDepth=' MaxDepth ');} public static int MaxDepth(TreeNode root){ if(root==null){ return 0;}返回Math.max(maxDepth(root.left),MaxDepth(root . right))1;} public static int maxDepth3(TreeNode root){ if(root==null){ return 0;} QueueTreeNode queue=new LinkedList();queue . add(root);int level=0;while(!queue . isempty()){ int size=queue . size();水平;for(int I=0;一、尺寸;I){ tree node tree node=queue . poll();if (treeNode.left!=null){ queue . add(TreeNode . left);} if (treeNode.right!=null){ queue . add(TreeNode . right);} } }返回级别;}}
5.问题解决程序的图片版本
二叉树的最大深度很常见。在这里,我给出两种解决方法。一种是利用系统栈的内容,通过递归求解,另一种是根据队列的特点求解。在这里,我会根据自己的喜好来解决,但是我想说的这张图特别漂亮。
这就是如何找出上面边肖分享的python二叉树的最大深度。如果你恰好也有类似的疑惑,可以参考上面的分析来理解。想了解更多,请关注行业信息渠道。
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/144275.html