题目描述:
要求将一批箱子按从上到下以‘之’字形的顺序摆放在宽度为n的空地上,输出箱子的摆放位置,例如:箱子ABCDEFG,空地宽为3,摆放效果如下图:
则输出结果为:
AFG
BE
CD
输入:
一行字符串,通过空格分割两部分,前面str部分表示箱子的字符串由数字或字母组成,后面部分是表示宽度的数字n,如下:
ABCDEFG 3
输出:
AFG
BE
CD
注:最后一行不得输出额外的空行
str只包含数字和数字,1<=len(str)<=1000,1<=n<=1000。
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String line = in.nextLine();
String[] s = line.split(" ");
String str = s[0];
int num = Integer.parseInt(s[1]);
if (num == 0) {
return;
}
List<String> list = new ArrayList<>();
for (int i = 0; i < num; i++) {
list.add("");
}
boolean flag = true;
for (int i = 0; i < str.length(); i++) {
int x = i % num;
if (x == 0) {
flag = !flag;
}
String value = String.valueOf(str.charAt(i));
int y = flag ? num - x - 1 : x;
list.set(y, list.get(y) + value);
}
for (String s1 : list) {
System.out.println(s1);
}
}
}