您的位置:首页 > 其它

字符串反转,单词不反转实现

2017-09-16 11:11 183 查看
直接上代码:

#include <iostream>
#include <string.h>
using namespace std;

void RevStr(char *str)
{
int k = 0;
int i = 0;
int j = 0;

if(str == NULL)
{
return ;
}
int len = strlen(str);

//先对整体进行反转
for(i = 0; i < len / 2; i++)
{
swap(str[i], str[len - i - 1]);
}

//再对每个单词进行反转
while(k < len)
{
i = j = k;
while(str[j] != ' ' && str[j] != '\0')
{
j++;
}
k = j + 1;   //跳过空格
for(j = j - 1; i < j; j--, i++)
{
swap(str[i], str[j]);
}
}
}

int main()
{
char str[] = "you are from ShangHai";
RevStr(str);
cout<<str<<endl;

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: