美文网首页
42、翻转单词顺序VS左旋转字符串

42、翻转单词顺序VS左旋转字符串

作者: 小碧小琳 | 来源:发表于2018-10-06 10:28 被阅读0次

    Python的坑:

    Python中倒序遍历数列的方法:
    for i in range(len(s)-1,-1,-1)
    

    比如(4,-1,-1)是从4开始向前,到-1前截止。得到结果为4,3,2,1,0五个数。

    python中字符串是不可变的

    不能像C++那样改动。因此只能用传统办法了。

    • 代码中,先构造一个能反转字符串的函数
    • 对于一个句子,先整体反转,然后用split把得到每个被反转的单词
    • 然后对每个单词进行反转

    代码实现:

    # -*- coding:utf-8 -*-
    class Solution:
        def ReverseStr(self,s):
            s_new = ''
            for i in range(len(s) - 1, -1, -1):
                # print(i)
                s_new += s[i]
            return s_new
    
        def ReverseSentence(self, s):
            if len(s) <= 1:
                return s
            s_all = self.ReverseStr(s)
            s_all_list = s_all.split()
            s_all_new = []
            for str in s_all_list:
                str_new = self.ReverseStr(str)
                s_all_new.append(str_new)
            result = ' '.join(s_all_new)
            return result
    

    上题思路跟上面代码思路一致。

    相关文章

      网友评论

          本文标题:42、翻转单词顺序VS左旋转字符串

          本文链接:https://www.haomeiwen.com/subject/owncaftx.html