15. 神秘字符
时间限制:1.000S 空间限制:32MB
题目描述
考古学家发现墓碑上有神秘的字符。经过仔细研究,发现原来这是开启古墓入口的方法。 墓碑上有2行字符串,其中第一个串的长度为偶数,现在要求把第2个串插入到第一个串的正中央,如此便能开启墓碑进入墓中。
输入描述
输入数据首先给出一个整数n,表示测试数据的组数。(整个输入中,只有一个n) 然后是n组数据,每组数据2行,每行一个字符串,长度大于0,小于50,并且第一个串的长度必为偶数。
输出描述
请为每组数据输出一个能开启古墓的字符串,每组输出占一行。
输入示例
2
asdf
yu
rtyu
HJK
输出示例
asyudf
rtHJKyu
解法一(模拟)
思路分析:
- 根据题目意思模拟即可
实现代码如下:
java
public class k_15_MysteriousCharacters {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
// 读取测试数据组数
String number = in.nextLine();
int n = Integer.parseInt(number);
while (n-- > 0) {
// 读取输入的测试数据
String a = in.nextLine();
// System.out.println(a);
String b = in.nextLine();
// System.out.println(b);
System.out.println(middleInsertStr(a, b));
}
}
private static String middleInsertStr(String a, String b) {
StringBuilder result = new StringBuilder();
int len = a.length();
int middle = len/2;
for (int i = 0; i < len; ++ i) {
if (i == middle) {
result.append(b);
}
result.append(a.charAt(i));
}
return result.toString();
}
}
运行结果如下:
运行时间: 396ms 消耗内存: 14212kb
复杂度分析:
- 时间复杂度:
- 空间复杂度: