题目出处:牛客网
对于一个字符串,请设计一个算法,将字符串的长度为len的前缀平移到字符串的最后。
给定一个字符串A和它的长度,同时给定len,请返回平移后的字符串。
测试样例:
"ABCDE",5,3
返回:"DEABC"
python实现
代码
def forwardmove(alist):
#平移一个单位
first = alist[0]
for i in xrange(len(alist)-1):
alist[i] = alist[i+1]
alist[-1] = first
class Translation:
def stringTranslation(self, A, n, len):
# write code here
alist = list(A)
for i in xrange(len):
forwardmove(alist)
return ''.join(alist)
C++实现
代码
class Translation {
public:
string stringTranslation(string A, int n, int len) {
// write code here
string::iterator it;
it = A.begin() + len;
reverse(A.begin(),it);
reverse(it,A.end());
reverse(A.begin(),A.end());
return A;
}
};
2018-9-3 晚
转载于:https://blog.51cto.com/237085/1962364