16. 位置互换
时间限制:1.000S 空间限制:32MB
题目描述
给定一个长度为偶数位的字符串,请编程实现字符串的奇偶位互换。
输入描述
输入包含多组测试数据。 输入的第一行是一个整数n,表示有测试数据。(整个输入中,只有一个n) 接下来是n组测试数据,保证串长为偶数位(串长<=50)。
输出描述
请为每组测试数据输出奇偶位互换后的结果,每组输出占一行。
输入示例
2
0aa0
bb00
输出示例
a00a
bb00
解法一(模拟)
思路分析:
- 根据题意模拟
实现代码如下:
java
public class k_16_PositionSwap {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n;
String number;
while (in.hasNext()) {
number = in.nextLine();
n = Integer.parseInt(number);
while (n-- > 0) {
String evenStr = in.nextLine();
System.out.println(positionSwap(evenStr));
}
}
}
private static String positionSwap(String even) {
StringBuilder result = new StringBuilder();
int len = even.length();
for (int i = 0; i < len-1; i += 2) {
result.append(even.charAt(i+1)).append(even.charAt(i));
}
return result.toString();
}
}
运行结果如下:
运行时间: 468ms 消耗内存: 13924kb
复杂度分析:
- 时间复杂度:
- 空间复杂度: