[编程题] 算法基础-字符移位
时间限制:1秒
空间限制:32768K
小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
你能帮帮小Q吗?
输入描述:
输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.
输出描述:
对于每组数据,输出移位后的字符串。
输入例子1:
AkleBiCeilD
输出例子1:
kleieilABCD
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s;
while(cin >> s ){
int j = s.size() - 1, i = j;
while(i >= 0)
{
if(s[i] >= 'A' && s[i] <= 'Z')
{
char c = s[i];
int t = i;
while(t < j){
s[t] = s[t + 1];t++;
}
s[j--] = c;
}
i--;
}
cout << s << endl;
}
return 0;
}
大写字符移位_腾讯实习编程题 - u011707827的专栏 - 优快云博客 https://blog.youkuaiyun.com/u011707827/article/details/52419135
本文详细解析了一道编程题——字符移位算法的基础实现。题目要求将字符串中的大写字母移动到字符串末尾,同时保持各字符的相对位置不变,且不使用额外空间。文章通过C++代码示例,展示了如何在限定的时间和空间复杂度内解决此问题。
7602

被折叠的 条评论
为什么被折叠?



