包含多组测试数据,每组测试数据包含两行,代表长度相等的两个字符串S1和S2(仅由小写字母组成,长度不超过100)。
合并后的新字符串S
abc def
afbecd
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] s1 = br.readLine().toCharArray(); char[] s2 = br.readLine().toCharArray(); int len = s1.length + s2.length; char[] chars = new char[len]; int flag = 0; int k1=0,k2=s2.length-1; for (int i = 0; i < len; i++) { if (flag == 0) { chars[i] = s1[k1++]; flag = 1; } else { chars[i] = s2[k2--]; flag = 0; } } for (int i = 0; i < len; i++) { System.out.print(chars[i]); } } }
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); char[] a = scanner.next().toCharArray(); char[] b = scanner.next().toCharArray(); StringBuilder builder = new StringBuilder(); int i= 0; int j= b.length-1; while (i<a.length||j>=0) builder.append(a[i++]).append(b[j--]); System.out.println(builder.toString()); } }
import java.util.*; import java.lang.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ String s1 = sc.nextLine(); String s2 = sc.nextLine(); StringBuffer sb = new StringBuffer(); for(int i = 0;i<s1.length();i++){ sb.append(s1.charAt(i)); sb.append(s2.charAt(s2.length()-i-1)); } System.out.println(sb); } } }
可以说是很简单了,但是千万不要想得太复杂,一开始就想着用双层循环。。ummm,一个就可以了。
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
String s1 = in.next().trim();
String s2 = in.next().trim();
for(int i = 0; i < s1.length(); i++) {
int index = s1.length() - i - 1;
System.out.print(s1.charAt(i) + "" + s2.charAt(index));
}
}
}
}