接平面设计私活的网站,网站开发需要解决难题,网站制作 技术,有没有代做毕业设计的网站给定一个二叉树#xff0c;找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2.
思路#xff1a…给定一个二叉树找出其最小深度。
最小深度是从根节点到最近叶子节点的最短路径上的节点数量。
说明: 叶子节点是指没有子节点的节点。
示例:
给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7 返回它的最小深度 2.
思路见代码
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/
class Solution {public int minDepth(TreeNode root) {if(root null) return 0;//左孩子和有孩子都为空的情况说明到达了叶子节点返回1if(root.left null root.right null) return 1;//左孩子和由孩子其中一个为空返回较大深度 int m1 minDepth(root.left);int m2 minDepth(root.right);//其中一个节点为空说明有一个必为0所以可以返回m1 m2 1;if(root.left null || root.right null) return m1 m2 1;//左右孩子都不为空返回最小深度1return Math.min(m1,m2) 1; }
}