剑指offer 面试题42 翻转单词顺序 | 左旋转字符串
来源:互联网 发布:3d房屋设计软件 编辑:程序博客网 时间:2024/05/16 08:44
#include <iostream>#include <cstring>using namespace std;void Reverse(char* str,int start,int end){if(!str) return;for(int i=start,j=end;i<j;++i,--j){char tmp=str[i];str[i]=str[j];str[j]=tmp;}}char* ReverseSentence(char* str){if(!str) return NULL;int len=strlen(str);//reverse every charReverse(str,0,len-1);//fix every word based on ' 'int start=0,end=0;while(end<len){while(str[end]!=' '){if(str[end]=='\0')break;end++;}Reverse(str,start,end-1);start=++end;}//fix the last wordReverse(str,start,end-1);return str;}char* LeftRotate(char* str,int n){if(!str||n<=0) return NULL;int len=strlen(str);int start=0,end=len-1;//reverse the whole stringReverse(str,start,end);//fix the left partReverse(str,start,len-n-1);//fix the right partReverse(str,len-n,end);return str;}int main(){char str[]={"he is a student. "};char str2[]={"asdfghj"};cout<<ReverseSentence(str)<<endl;cout<<LeftRotate(str2,3)<<endl;}
0 0
- [剑指offer][面试题42]翻转单词顺序 VS 左旋转字符串
- [剑指offer]面试题42:翻转单词顺序,左旋转字符串
- 剑指offer 面试题42 翻转单词顺序 | 左旋转字符串
- 剑指offer 面试题42—翻转单词顺序VS左旋转字符串
- 【剑指Offer学习】【面试题42:翻转单词顺序vs左旋转字符串】
- 剑指offer-面试题42:翻转单词顺序VS左旋转字符串
- 剑指offer之面试题42翻转单词顺序VS左旋转字符串
- 剑指Offer面试题42:翻转单词顺序;左旋转字符串 Java实现
- 剑指offer--面试题42:翻转单词顺序列 vs 左旋转字符串
- 剑指offer——面试题42:翻转单词顺序VS左旋转字符串
- 剑指offer-面试题42-翻转单词顺序VS左旋转字符串
- 【剑指offer】面试题42-翻转单词顺序VS左旋转字符串
- 剑指Offer系列-面试题42:翻转单词顺序和左旋转字符串
- 剑指offer-面试题42-翻转单词顺序VS左旋转字符串
- 剑指offer 面试题42 翻转单词顺序 VS 左旋转字符串
- 剑指offer面试题 翻转单词顺序 VS 左旋转字符串
- 剑指Offer面试题:34.翻转单词顺序VS左旋转字符串
- 面试题42:翻转单词顺序VS左旋转字符串
- 计算机改名对SQLSERVER2005的影响和解决方法
- 编写高效的C程序与C代码优化
- jquery 1.6以后attr对于checked不起作用,其替代方法为prop
- Factorial Trailing Zeroes
- 马士兵_JAVA自学之路(为那些目标模糊的码农们)
- 剑指offer 面试题42 翻转单词顺序 | 左旋转字符串
- 基数排序
- 使用DOS编译运行多个java程序
- linux TCP编程处理网线拔掉
- 纯javascript验证,100行超精简代码。
- 《更好的解释(数学篇)》——第六章 复数运算
- 关于动态创建对话框以及动态创建控件
- MySql简要笔记
- codeforces 498 d Traffic Jams in the Land