字符串翻转(C++)
2013-08-02 15:25
99 查看
1.字符串原地翻转,"abc"->"cba":
2.字符串分单词翻转,"cat is tom"->"tom is cat":
int str_reverse(string &str,int first,int last) { if(first>last) return -1;//对比失败 else if(first==last) return 0;//对比完成 if(str.length()<last) return -1; char t=str[first]; str[first]=str[last]; str[last]=t; return str_reverse(str,++first,--last); }
2.字符串分单词翻转,"cat is tom"->"tom is cat":
string str_word_reverse(string str) { int i=0,j=0,p=0,k=0,len=str.length(); string str_tmp(len,NULL); k=len-1; while(i<len&&j<len) { while(j<len&&' '!=str[j]) j++; p=j; while(i<j) { str_tmp[k--]=str[--j]; } if(k>=0)str_tmp[k]=' ';//空格 k--; i=j=p+1; } return str_tmp; }
相关文章推荐
- C/C++面试之算法系列--以单词为最小单位翻转字符串
- C++字符串翻转
- C++字符串翻转操作
- C\C++笔试题IV---翻转字符串
- c++实现字符串翻转
- c++作业记录,统计字母&字符串翻转
- 翻转句子中单词的顺序和字符串的旋转操作 c++面试题
- C++ <利用指针翻转字符串>
- C/C++:递归使用:使用递归反向写文件(例子)以及字符串翻转输出
- C++中去掉string字符串中的空格和tab
- c++ int转字符串 char转字符串
- C++字符串高效查找替换
- Linux C++ 字符串 编码识别、编码转换
- [C/C++标准库]_[初级]_[字符串string转换大小写]
- C/C++中的字符串另类连接
- C++ const char* 常量字符串拼接问题
- C++字符串的输入输出流
- C/C++(字符串处理)字符指针、字符数组用法大总结
- C++字符串中查找子字符串并替换
- 深度理解C字符串与C++字符串