算法基礎-字符移位
小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;
}
}