C++面试题,不使用临时变量实现字符串反转
来源:互联网 发布:剑三破军道姑捏脸数据 编辑:程序博客网 时间:2024/06/06 17:23
写了两种实现方式:
#include "stdafx.h"
#include <string.h>void reverseString(char *str,unsigned int len)
{
char * p1,*p2;
p1=p2=str;
p2+=len-1;
while(p1<p2)
{
*(p2+1)=*p1;
*p1=*p2;
p1++,p2--;
}
int half = len/2;
for(int i=1;i<=half;i++)
{
*(p2+i)=*(p2+(i+1));
}
*(p2+(half+1))='\0';
return ;
}
void reverseString2(char *str,unsigned int len)
{
char * p1,*p2;
p1=p2=str;
p2+=len-1;
while(p1<p2)
{
*p2^=*p1;
*p1^=*p2;
*p2^=*p1;
p1++,p2--;
}
return ;
}
int _tmain(int argc, _TCHAR* argv[])
{
static char test[]="reverse";
static char test1[]="engine";
static char test2[]="algorithm";
printf("%s\r\n",test);
reverseString2(test,strlen(test));
printf("%s\r\n",test);
printf("%s\r\n",test1);
reverseString2(test1,strlen(test1));
printf("%s\r\n",test1);
printf("%s\r\n",test2);
reverseString2(test2,strlen(test2));
printf("%s\r\n",test2);
return 0;
}
0 0
- C++面试题,不使用临时变量实现字符串反转
- 不使用中间变量实现字符串反转
- 关于一道面试题,使用C#实现字符串反转算法
- 不使用任何中间变量,实现字符串反转
- [python]面试题:交换两数且不使用临时变量
- 字符串逆转(不使用临时变量)
- 面试题:反转字符串
- 不使用临时变量,实现整数互换
- 面试题:用一个临时变量实现单链表逆序
- C语言实现两个整形变量的值的交换,不使用临时变量
- C/C++/Java不使用临时变量实现两个数的交换
- 微软面试题:反转字符串
- 面试题之字符串反转
- 面试题之字符串反转
- 面试题之字符串反转
- 遇到一个面试题,用递归法实现字符串反转.
- 实现变量交换(不使用临时变量)
- 如何不使用一个中间变量反转一个字符串
- dangdang.sql
- 火狐浏览器绑定HOST的方法
- Mysql数据库_ 视图.sql
- bt torrent文件
- Mysql数据库_DDL.sql
- C++面试题,不使用临时变量实现字符串反转
- 谷歌眼镜Mirror API开发指南之Timeline
- Mysql数据库_DML.sql
- 自定义view
- Hessian客户端
- cramfs文件系统识别nand坏块的解决方法
- Mysql数据库_DML_常用函数.sql
- Mysql数据库_DML_多表连接.sql
- 小黄人快跑安卓版 v2.0.2 免费手机版下载