字符串面试题(三)— 把一个字符串的大写字母放到字符串的后面
2016-12-15 20:21
253 查看
把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。
例如AbcDeFGhi ->bceiADFG
基于冒泡的思想,从头开始扫描,遇到小写字母就往前面冒:
初始:AbcDeFGhi
冒’b’: bAcDeFGhi
冒’c’: bcADeFGhi
冒’e’: bceADFGhi
冒’h’: bcehADFGi
冒’i’: bcehiADFG
得到最终结果为bceiADFG
最终代码如下:
例如AbcDeFGhi ->bceiADFG
基于冒泡的思想,从头开始扫描,遇到小写字母就往前面冒:
初始:AbcDeFGhi
冒’b’: bAcDeFGhi
冒’c’: bcADeFGhi
冒’e’: bceADFGhi
冒’h’: bcehADFGi
冒’i’: bcehiADFG
得到最终结果为bceiADFG
最终代码如下:
#include <stdio.h> #include <string.h> int main() { char s[1000], t; int i, j; while (scanf("%s", s) != EOF) { for (i = 1; i < strlen(s); ++i) { j = i; if ('a' <= s[i] && s[i] <= 'z') while (j != 0 && 'A' <= s[j-1] && s[j-1] <= 'Z') { t = s[j-1]; s[j-1] = s[j]; s[j--] = t; } } printf("%s\n", s); } return 0; }
相关文章推荐
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗?
- 字符移位 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗? 输入描述: 输入数据有多组
- 腾讯2017年实习生编程题目(第二题)----2.算法基础-字符移位 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
- 把一个字符串的大写字母放到字符串的后面 ,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。
- 把一个字符串中的大写字母放到后面,小写字母放到前面,并且相对位置不变
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。
- 把一个字符串的大写字母放到字符串的后面--腾讯2017暑期实习生编程题
- 在一个字符串中把大写字母放到字符串中小写字母的后面(不能改变字母的相对位置)
- [面试算法]把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。
- 将一个字符串中的大写字母放到小写字母的后面,而且移动后相对顺序不改变
- 把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间。
- 将一个字符串的大写字母放到字符串的后面,各个字符串的相对顺序不改变,不能申请额外空间 左旋字符串的应用
- 字符串训练02—给一个字符串,有大小写字母,要求写一个函数把小写字母放在前面 大写字母放在后面,尽量使用最小空间,时间复杂度。(即用指针做)。 如:aAbBcCdD ---àabcdABCD