python编程题-句子的逆序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python编程题-句子的逆序相关的知识,希望对你有一定的参考价值。
对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成,你需要将这些部分逆序。
给定一个原字符串A和他的长度,请返回逆序后的字符串。
测试样例:
"dog loves pig",13
返回:"pig loves dog"
python实现
class Reverse: def reverseSentence(self, A, n): # write code here Alist = list(A) Alist.append(‘ ‘) res = [] tmpstr = "" for i in xrange(len(Alist)): if Alist[i]!=‘ ‘: #不是空格,字符串累加 tmpstr = tmpstr + Alist[i] else: if Alist[i]==‘ ‘: #是空格,将字符串放入list res.append(tmpstr) tmpstr = "" res.reverse() #整体反转 return ‘ ‘.join(res) def main(): A="dog loves pig" t = Reverse() print t.reverseSentence(A, len(A)) if __name__ == "__main__": main()
C++实现
class Reverse { public: string reverseSentence(string A, int n) { // write code here vector<string> sv(1); int tag = 0; for (int i = 0; i < A.length(); ++i) { if (A[i] == ‘ ‘) { tag++; sv.resize(tag+1); continue; } sv[tag] = sv[tag] + A[i]; } reverse(sv.begin(),sv.end()); A.clear(); for (int i = 0; i < sv.size();i++) { //cout << sv[i] << " "; if (i != sv.size()-1) A = A + sv[i] + " "; else A = A + sv[i]; } return A; } };
本文出自 “hello world” 博客,请务必保留此出处http://237085.blog.51cto.com/227085/1962054
以上是关于python编程题-句子的逆序的主要内容,如果未能解决你的问题,请参考以下文章
华为python机试题目:计算字符个数简单错误记录简单密码进制转换句子逆序密码验证合格程序