博客
关于我
字符串反转
阅读量:257 次
发布时间:2019-03-01

本文共 581 字,大约阅读时间需要 1 分钟。

方法1:

把要移位的字符,复制到 a 中,s 中的字符串前移,把a中的字符移动到s的后面

// n 移位的个数,m 字符串总个数void fun(char *s, int n, int m){   	char *a = (char*)malloc(sizeof(char)*n);	int i, j;	for (i = 0; i < n; i++)	{   		a[i] = s[i];	}	for (j = 0; i < m; i++,j++)	{   		s[j] = s[i];	}	for (i = 0; i < n; i++,j++)	{   		s[j] = a[i];	}	free(a);}

方法2:

三步反转,把字符串分为2部分,把2部分的字符分别反转,再把整个字符都反转

void reversal(char *s,int begin,int end){   	char t;	while (begin < end)	{   		t = s[begin];		s[begin++] = s[end];		s[end--] = t;	}}void fun(char *s,int n,int m){   	reversal(s, 0, n - 1);	reversal(s, n, m - 1);	reversal(s, 0, m - 1);}

转载地址:http://tqyo.baihongyu.com/

你可能感兴趣的文章
emd分解matlab程序
查看>>
Java版取色器(7)——界面简单装饰
查看>>
Problem F: 零起点学算法106——首字母变大写
查看>>
Problem H: 计算数列和2/1,3/2,5/3,8/5......
查看>>
C/C++中的字符串4个库函数
查看>>
201604-4 游戏 ccf
查看>>
1144. The Missing Number (20)
查看>>
Java之StringUtils的常用方法
查看>>
为什么阿里巴巴不建议在for循环中使用”+”进行字符串拼接
查看>>
【Spring Boot 26】分别在SpringBoot和Vue中解决跨域问题
查看>>
Class.forName(),classloader.loadclass用法详解
查看>>
tp5.1 页面错误!请稍后再试~ 安装好后,提示错误
查看>>
阿里云 安全组规则 设置某个IP不能访问服务器(出站)
查看>>
表示换行
查看>>
取得刚刚添加记录的ID
查看>>
系统打了补丁后,IIS装不了的解决…
查看>>
超链接如何加下划线
查看>>
禁止重复提交(JavaScript控制表单…
查看>>
TP 5 如何打开错误以及提示
查看>>
php js 通过sotitle(id,arr)函数输入ID取得返回值
查看>>