騰訊2017暑期實習生編程題 第二題 字符移位
阿新 • • 發佈:2018-03-15
append () pen bic end OS gpo remove 描述
小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 staticString 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(); } }
騰訊2017暑期實習生編程題 第二題 字符移位