腾讯 算法基础-字符移位

来源:互联网 发布:魔兽世界数据库wlk 编辑:程序博客网 时间:2024/05/21 10:49

小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
你能帮帮小Q吗?

输入描述:

输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.

输出描述:

对于每组数据,输出移位后的字符串。

输入例子:
AkleBiCeilD

输出例子:
kleieilABCD

#include <stdio.h>#include <string.h>//冒泡排序int main() {    char str[1001];    while (scanf("%s", str) != EOF) {        int len = strlen(str);        for (int i = len - 1; i >= 0; --i) {            if (str[i] >= 'A' && str[i] <= 'Z') {                char ch = str[i];                int j = i + 1;                while (str[j] != '\0' && str[j] >='a' && str[j] <= 'z') {                    str[j - 1] = str[j];                    ++j;                }                str[j - 1] = ch;            }        }        printf("%s\n",str);    }    return 0;}
0 0
原创粉丝点击