您的位置:首页 > 职场人生

面试题:按单词逆转字符串(2010/10/09)

2010-10-10 12:53 183 查看
代码

#include <iostream>
#include <utility>
using namespace std;

//先逆转整个字符串,然后再逐单词逆转
char * reveser_str(char *beg,char *end=NULL)
{
if (end==NULL)
{
end=beg;
while(*end!='\0')
{
++end;
}
--end;
}
char *p=beg;
while(p<end)
{
swap(*p,*end);
++p;
--end;
}
return beg;
}
char* reveser_by_word(char *str)
{
reveser_str(str);
char *beg=str,*end=str;
while(*end!='\0')
{
if (*end==' ')
{
reveser_str(beg,end-1);
beg = end+1;
}
++end;
}
reveser_str(beg,end-1);
return str;
}
int main()
{
char str[256];
while (cin.getline(str,sizeof(str)))
{
cout<<reveser_by_word(str)<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: