面试题:反转字符串
2015-02-04 18:56
232 查看
输入一行字符串,每个单词之间有至少一个空格,然后反向输出这些单词。如输入 this is a test. 输出 test a is this。
#include <iostream> void ReverseStr(std::string& str,int startIndex,int endIndex) { int l = startIndex + (endIndex - startIndex)/2; for(int i=startIndex;i<=l;i++) { std::swap(str[i],str[endIndex+startIndex-i]); } } int main(int argc, const char * argv[]) { std::string str = "this is a test"; int len = 0; int startIndex = 0; int endIndex = 0; // printf("ccc:%s",str); len = str.length(); for(int i=0;i<len;i++) { // printf("ccc:%c",str[i]); if(str[i] == ' ' || i==len-1) { if(i==len-1){ endIndex = i; }else{ endIndex = i-1; } printf("startIndex:%d,endIndex:%d\n",startIndex,endIndex); ReverseStr(str,startIndex,endIndex); startIndex = i+1; endIndex = i+1; } } ReverseStr(str,0,len-1); printf("result:%s",str.c_str()); return 0; }
相关文章推荐
- 将字符串按照单词完全反转---公司面试题
- 反转字符串的多种方式-经典面试题系列
- 剑指offer面试题[42]-反转单词顺序VS左旋转字符串
- 微软面试题——反转字符串(导读)
- 由字符串反转(使用递归)引申出来一道Java面试题
- 深入浅出经典面试题之——反转字符串
- java面试题:字符串的反转
- 关于一道面试题,使用C#实现字符串反转算法
- 面试题之字符串反转
- 深入浅出经典面试题之——反转字符串
- 面试题42反转单词顺序VS左旋字符串(循环左移字符串)
- 在网上看到了一个面试题感觉很有意思 写一个函数,实现字符串反转
- python面试题总结(一)字符串反转,写取指定数函数
- 微软面试题——反转字符串
- C++面试题,不使用临时变量实现字符串反转
- 简单面试题::字符串按单词反转
- 遇到一个面试题,用递归法实现字符串反转.
- Java面试题从零开始:写一个函数把字符串反转
- 字符串反转操作,网易的一道面试题
- 微软面试题——反转字符串 【转】