Means:
把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
Input:
AkleBiCeilD
Output:
kleieilABCD
Thoughts:以大写字母为出发点,从头扫描,依次放到队尾,同时删除原始元素
Solution:
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while(sc.hasNext()) {
StringBuffer sb = new StringBuffer(sc.nextLine());
int times = 0;
for(int i = 0; i < sb.length() - times; i++) {
if(Character.isLowerCase(sb.charAt(i)))
continue;
sb.append(sb.charAt(i));
sb.delete(i, i + 1);
times++;
i--;
}
System.out.println(sb);
}
}
}