Leetcode039--二叉树的最小深度

一、原题



  Given a binary tree, find its minimum depth. 
  The minimum depth is the number of nodes along the shortest path from the root node down to the nearest leaf node. 



一、中文



给定一棵两叉树求树的最小深度。 



三、举例



也就是从树的根节点出发到每个叶子结点之间的距离,不要理解偏了



四、思路



 
遍历法,对整个树进行遍历,找出最小的深度。



五、程序


遍历法,对整个树进行遍历,找出最小的深度。
package code;

class TreeNode7{
	int val;
	TreeNode7 left;
	TreeNode7 right;
	TreeNode7(int x){
		val = x;
	}
}


public class LeetCode58{
	public static void main(String args[]){
		TreeNode7 n1 = new TreeNode7(1);
		TreeNode7 n2 = new TreeNode7(2);
		TreeNode7 n3 = new TreeNode7(3);
		TreeNode7 n4 = new TreeNode7(3);
		TreeNode7 n5 = new TreeNode7(4);
		TreeNode7 n6 = new TreeNode7(5);
		TreeNode7 n7 = new TreeNode7(6);
		
		n1.left = n2;
		n2.right = n3;
		
		n3.left = n4;
		n1.right = n5;
		
		n5.left = n7;
		n3.right = n6;
		
		System.out.println("二叉树的最小深度是:"+minDepth(n1));
	}

	
	public static int minDepth(TreeNode7 root){
		
        if(root == null) return 0;  
        if(root.left == null)return minDepth(root.right) + 1;  
        if(root.right == null) return minDepth(root.left) + 1;  
          
        return Math.min(minDepth(root.left), minDepth(root.right)) + 1;  
	}

}
	


------------------------------------output--------------------------------------

二叉树的最小深度是:3





你可能感兴趣的:(【LeetCode】)