騰訊2017暑假實習生招聘筆試編程題(1)

算法基礎-字符移位

小Q最近遇到了一個難題:把一個字符串的大寫字母放到字符串的後面,各個字符的相對位置不變,且不能申請額外的空間。
你能幫幫小Q嗎?


輸入描述:


輸入數據有多組,每組包含一個字符串s,且保證:1<=s.length<=1000.


輸出描述:


對於每組數據,輸出移位後的字符串。


輸入例子:


AkleBiCeilD


輸出例子:


kleieilABCD


#include <stdio.h>
#include <iostream>
#include <string.h>
#include <vector>
#include <string>
using namespace std;

int main(){
    char a[1000];
    while(cin>>a){
        int len = strlen(a);
        int end = len-1;
        for(int i = 0 ;i <= end ;){
            if(a[i]>='A'&&a[i]<='Z'){
                char temp = a[i];
                int idx = i;
                for(int j = i+1;j<len;j++){
                    a[idx++] = a[j];
                }
                a[len-1] = temp;
                end--;
            }
            else i++;
        }
        cout<<a<<endl;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章