首页 > 学院 > 开发设计 > 正文

句子的逆序练习

2019-11-08 18:29:07
字体:
来源:转载
供稿:网友

对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成,你需要将这些部分逆序。 给定一个原字符串A和他的长度,请返回逆序后的字符串。 测试样例: “dog loves pig”,13 返回:”pig loves dog”

思路很简单,首先将整个句子逆序,之后将每一个单词逆序即可

class Reverse {public: string reverseSentence(string A, int n) { // write code here reverseString(A,0,A.size()-1); int begin=0; for(int i=0;i!=A.size();++i){ if(A[i]==' '){ reverseString(A,begin,i-1); begin=i+1; } } if(begin<A.size()-1) reverseString(A,begin,A.size()-1); return A; } void reverseString(string &A,int begin,int end) { if(begin>=end) return; for(int i=begin,j=end;i<j;++i,--j) swapnum(A[i],A[j]); } void swapnum(char &a,char &b) { char temp=a; a=b; b=temp; }};
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表