腾讯2017暑期实习生编程题 第二题 字符移位

Posted whu-gbf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了腾讯2017暑期实习生编程题 第二题 字符移位相关的知识,希望对你有一定的参考价值。

小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();
    }
}

 

以上是关于腾讯2017暑期实习生编程题 第二题 字符移位的主要内容,如果未能解决你的问题,请参考以下文章

腾讯2017暑期实习生编程题

腾讯2017暑期实习生编程题

腾讯2017暑期实习生编程题

腾讯2017暑期实习生编程题 第一题 构造回文

百度2017暑期实习生编程题

腾讯2017暑期实习编程题3