算法基础-字符移位

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
你能帮帮小Q吗

输入描述:

输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.  

输出描述:

对于每组数据,输出移位后的字符串。

输入例子:
AkleBiCeilD

 

输出例子:
kleieilABCD
 

import java.util.*;
public class Main {
       public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
         String s=sc.nextLine();
          char []ch=s.toCharArray();
          int j=s.length()-1;
         
          for(int i=s.length()-1;i>=0;i--){
           if(ch[i]<='Z'&&ch[i]>='A'){
            char c=ch[i];
            for(int k=i;k<j;k++){
            ch[k]=ch[k+1];
            }
            ch[j]=c;
            j--;
           
           }
          }
          for(int i=0;i<s.length();i++){
              System.out.print(ch[i]);
         }
         System.out.println();//注意
         }
         }
       }
      

 收获:将字符串转成字符数组

          String s=sc.nextLine();
          char []ch=s.toCharArray();

 
posted @ 2017-03-29 14:08  code666  阅读(245)  评论(0编辑  收藏  举报