小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗? 输入描述: 输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000. 输出描述: 对于每组数据,输出移位后的字符串。 输入例子1: AkleBiCeilD 输出例子1: kleieilABCD
import java.util.ArrayList; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner s = new Scanner(System.in); ArrayList<ArrayList> Biglist = new ArrayList<>(); while(s.hasNext()) { String m = s.next(); char[] charArray = m.toCharArray(); ArrayList list = new ArrayList(); for(int i=0;i<charArray.length;i++) { list.add(charArray[i]); } Biglist.add(list); break; } for (ArrayList list : Biglist) { System.out.println(func(list)); } } public static String func(ArrayList list) { for (int i=0,j=0;i<list.size();i++,j++) { if(‘A‘<=(char)list.get(j) && (char)list.get(j)<=‘Z‘) { char ch = (char) list.remove(j); list.add(ch); j--; } } StringBuffer sb = new StringBuffer(); for (Object c : list) { sb.append(c); } return sb.toString(); } }