题目
把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
输入
输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.
输出
对于每组数据,输出移位后的字符串。
例子
输入:AkleBiCeilD
输出:kleieilABCD
思路
稳定,空间复杂度低(时间复杂度高)的排序方法
候选:冒泡/插入
代码(C++)
#include <iostream>
#include<cstring>
#include<string>
using namespace std;
const int maxn=1010;
char s[maxn];
int main()
{
int n;
string s;
s.resize(maxn);
while(cin>>s)
{
n=s.length();
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(s[j]<='Z'&&s[j+1]>='a')
swap(s[j],s[j+1]);
}
}
cout<<s<<endl;
s.clear();
}
return 0;
}