数据结构——算法之(031)(将字符串中所有小写字母排在大写字母的前面)
来源:互联网 发布:网络主播喜欢唱的歌 编辑:程序博客网 时间:2024/05/22 00:39
【申明:本文仅限于自我归纳总结和相互交流,有纰漏还望各位指出。 联系邮箱:Mr_chenping@163.com】
题目:
函数将字符串中的字符'*'移到串的前部分,前面的非'*'字符后移,但不能改变非'*'字符的先后顺序,函数返回串中字符'*'的数量。
题目分析:
1、需要保持非'*'字符的顺序
2、不开辟额外的空间
3、用快慢指针,指向字符串尾巴,快指针指向非‘*’字符串,慢指针指向'*',然后交换指针内容即可
算法实现:
#include <stdio.h>#include <string.h>int str_move_char_to_head(char *str, char move_char){int len = strlen(str);char *fast = str + len - 1;char *slow = fast;char temp;while(len--){if(*slow != move_char){slow--;fast = slow;continue;}if(*fast == move_char){fast--;continue;}{temp = *fast;*fast-- = *slow;*slow-- = temp;}}}int main(int argc, char *argv[]){printf("%s----->", argv[1]);str_move_char_to_head(argv[1], '*');printf("%s\n", argv[1]);}
0 0
- 数据结构——算法之(031)(将字符串中所有小写字母排在大写字母的前面)
- 数据结构——算法之(030)(将字符串中所有小写字母排在大写字母的前面)
- 将字符串中的小写字母排在大写字母的前面
- 谷歌:有一个由大小写组成的字符串,将其中的所有小写字母排在大写字母的前面
- 谷歌面试题:将字符串中的小写字母排在大写字母的前面
- 有一个由大小写组成的字符串,现在需要对他进行修改,将其中的所有小写字母排在大写字母的前面
- 17、有一个由大小写组成的字符串,现在需要对他进行修改, 将其中的所有小写字母排在答谢字母的前面(大写或小写字母之间不要求保持原来次序)
- 把一个字符串中所有出现的大写字母都替换成小写字母,同时把小写字母替换成大写字母
- Java——求一个字符串中大写字母,小写字母,非字母的个数分别是多少
- 汇编语言子函数——将字符串的小写字母转换为大写字母
- 小写字母排在大写字母之前
- 16周项目一:字符串(输出字符串中大写字母和小写字母的个数)
- 输入一个字符串,计算该字符串中字母的个数,并将大写字母转化为小写字母,小写字母转化为大写字母
- python源文件 将文件中所有除保留字外的小写字母换成大写字母
- Java中字符串的大写字母、小写字母等字符个数的统计(三种方法)
- 在一个字符串中,统计大写字母个数,小写字母个数,其他字符个数的四种算法
- 将字符串的小写字母转换为大写字母
- 输入一个字符串将其中的大写字母改为 小写字母 ,小写改为大写字母
- UC阿里如何做成40亿买卖
- Android开发者必知的5个开源库
- Spring中的jar包详解
- 内部类
- vbox中Ubuntu共享文件夹的配置方法
- 数据结构——算法之(031)(将字符串中所有小写字母排在大写字母的前面)
- Linux cgroup机制分析之框架分析
- ucos中的三种临界区管理机制
- Mobile Web开发基础之三————由按键想到的
- Android颜色对照表
- Mobile Web开发基础之四————处理设备的横竖屏
- linux常用命令
- android中exported属性指示该服务是否能够被其他应用程序组件调用或跟它交互
- 黑马程序员_异常处理.