Python代码,简单易懂

翻转单词顺序列

http://www.nowcoder.com/questionTerminal/3194a4f4cf814f63919d0790578d51f3

先转单词,再转句子。比较简单好理解的Python代码,以及后面相似的左旋转字符串的代码

本题

def ReverseSentence(self, s):
    # write code here
    wordstart = 0
    s = list(s)
    for i in range(len(s)):
        if s[i] ==' ':
            s[wordstart:i] = self.reverse(s[wordstart:i])
            wordstart = i+1
    s[wordstart:] = self.reverse(s[wordstart:])
    s = self.reverse(s)
    return ''.join(s)

def reverse(self,words):
    for i in range(len(words)>>1):
        words[i],words[-i-1] = words[-i-1],words[i]
    return words

左旋转字符子串

def LeftRotateString(self, s, n):
    # write code here
    s = list(s)
    s[:n] = self.reverse(s[:n])
    s[n:] = self.reverse(s[n:])
    s = self.reverse(s)
    return ''.join(s)

def reverse(self, words):
    for i in range(len(words) >> 1):
        words[i], words[-i - 1] = words[-i - 1], words[i]
    return words
全部评论
方法还不错
点赞 回复 分享
发布于 2020-02-05 21:54

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务