旋转字符串 (lintcode:rotate-string)

2018-01-02  本文已影响0人  v1coder

旋转字符串

给定一个字符串和一个偏移量,根据偏移量旋转字符串(从左向右旋转)

例如:

对于字符串 "abcdefg".
offset=0 => "abcdefg"
offset=1 => "gabcdef"

代码

#第一种方法我自己写的,在Spyder上运行正确,lintcode通不过
def rotateString(str1, offset):
        offset = offset % len(str1) #如果offset大于字符串长度,
        str2 = str1[-offset:]
        str3 = str1[:-offset]
        str4 = str2 + str3
        return str4
    

#第二种方法是网上找的答案,lintcode通过,Spyder上运行报错
def rotateString(s, offset):
    if len(s) > 0:
        offset = offset % len(s)
            
    str2 = (s + s)[len(s) - offset : 2 * len(s) - offset]

    for i in xrange(len(str2)):
        s[i] = str2[i]  # 这里lintcode能通过,可在Spyder上运行报错:'str' object does not support item assignment    

lintcode原题

20180102

上一篇下一篇

猜你喜欢

热点阅读