#include <iostream>
#include <cstring>
using namespace std;
void swap(char * a, char * b)
{
char temp = *a;
*a = *b;
*b = temp;
}
void reverse_section(char * src, int l, int r)
{
while(l < r)
{
swap(src + l, src + r);
l++;
r--;
}
}
void reverse(char * src)
{
int l = 0;
int r = strlen(src) - 1;
//先翻转整个句子
reverse_section(src, l, r);
//然后翻转单词
int k = 0;
for(int i = 0, k = 0; ; i++)
{
//当遇到空格或者结束符的时候,翻转每个单词
if(src[i] == ' ' || src[i] == '/0')
{
reverse_section(src, k, i-1);
k = i+1;
if(src[i] == '/0') break;
}
}
}
int main()
{
char src[100] = "the quick brown fox jumps over the lazy dog.";
cout << src << endl;
reverse(src);
cout << src << endl;
}
字符串倒置
最新推荐文章于 2022-08-08 13:09:18 发布
280

被折叠的 条评论
为什么被折叠?



