public static int minDepthOf(Node root) {
		if(root == null)
			return -1;
		
		if(root.left == null && root.right == null)
			return 0;
		else if(root.left == null)
			return 1+minDepthOf(root.right);
		else if(root.right == null)
			return 1+minDepthOf(root.left);
		else
			return (minDepthOf(root.left)>minDepthOf(root.right)) ? (1+minDepthOf(root.right)) : (1+minDepthOf(root.left));
	}