前言:
现在咱们对“c语言二叉树的深度算法”大概比较关怀,我们都想要分析一些“c语言二叉树的深度算法”的相关文章。那么小编也在网上汇集了一些有关“c语言二叉树的深度算法””的相关资讯,希望姐妹们能喜欢,看官们一起来学习一下吧!题目描述:
给定一个二叉树,找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最小深度 2.
思路:
要计算二叉树的最小深度,就是找出跟节点的左右子树的最小深度,然后 + 1。有一个注意事项是二叉树的深度计算是从跟节点到叶子节点的深度,如果一个节点包含一个子树的话,也不计算深度。最后,通过递归的方式获得我们想要的结果。
Java代码:
public int minDepth(TreeNode root) { if(null == root){ return 0; } if(null == root.left && null == root.right){ return 1; }else if(null == root.left){ return 1 + minDepth(root.right); }else if(null == root.right){ return 1 + minDepth(root.left); }else{ return Math.min(minDepth(root.left),minDepth(root.right)) + 1; } }
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #c语言二叉树的深度算法