面试题:按单词逆转字符串(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; }
相关文章推荐
- 百度面试题 字符串中单词的逆转,即将单词出现的顺序进行逆转
- 【面试题】单链表逆转、字符串按单词逆转
- 经典面试题--字符串按单词逆转
- 面试题46:翻转单词顺序VS左旋转字符串
- 单链表逆转、字符串按单词逆转
- 【我解C语言面试题系列】013 以单词为单位的翻转字符串
- 剑指offer面试题 翻转单词顺序 VS 左旋转字符串
- 剑指offer-面试题42:翻转单词顺序VS左旋转字符串
- [面试题]翻转字符串中的单词
- 把字符串按单词逆转
- 字符串操作,翻转句子中单词的顺序--经典面试题两种解法
- 实现字符串中单词的逆转,即将单词出现的顺序进行逆转。如将"how are you "逆转为"you are how!"
- 向左旋转k个字符vs字符串中单词的逆转
- 翻转句子中单词的顺序和字符串的旋转操作 c++面试题
- C语言实现字符串中的单词的逆转
- 面试题:将一个字符串数组中的字母按照以下规则排列:表中任何单词的首字母与其前面单词的尾字母相同! 要求:字符串只由小写字母构成,且每个字符串长度在2-100之间
- JAVA面试题------根据所给格式将字符串中单词倒置
- 面试题42:翻转单词顺序VS左旋转字符串
- 华北计算所其中一道机试题,逆转字符串,但是单词顺序不变
- 面试题初级-求字符串最后一个单词的长度和判断ip地址的合法性