zoukankan      html  css  js  c++  java
  • 557. 反转字符串中的单词 III

    给定一个字符串,你需要反转字符串中每个单词的字符顺序,同时仍保留空格和单词的初始顺序。

    • 示例 1:
      输入: "Let's take LeetCode contest"
      输出: "s'teL ekat edoCteeL tsetnoc"

    • 注意:在字符串中,每个单词由单个空格分隔,并且字符串中不会有任何额外的空格。

    • 分析:

    翻转字符串可以通过字符串[::-1]实现,该题里每个单词都需要被翻转,应考虑遍历每个单词实现翻转效果且最后返回一个string串

    • 解法1:
    class Solution(object):
        def reverseWords(self, s):
            """
            :type s: str
            :rtype: str
            输入: "Let's take LeetCode contest"
            输出: "s'teL ekat edoCteeL tsetnoc"
            """
            str_list = []
            for word in s.split():
                str_list.append(word[::-1])
            return ' '.join(str_list)
    
    • 解法2:
    class Solution(object):
        def reverseWords(self, s):
            """
            :type s: str
            :rtype: str
            输入: "Let's take LeetCode contest"
            输出: "s'teL ekat edoCteeL tsetnoc"
            """
            lists = s.split()
            for i, item in enumerate(lists):
                tmp = item[::-1]
                lists[i] = tmp
            return ' '.join(lists)
    
    • 总结:

    解法2效率高于解法1, 解法2再翻转字符的同时,在原list中实现了元素的替换,比解法1中新建一个 list,使用 append 方法更高效。

  • 相关阅读:
    CDQ
    MySQL中的类Decode用法
    HTMLTestRunner生成空白resault.html
    参数化时按行读取txt文件,如何去掉换行符" "
    打开本地html的一些设置
    python中文乱码例子
    Python异常处理实例
    Python根据上下限生成不重复随机数1
    Linux自定义命令
    Python IDLE 清屏工具
  • 原文地址:https://www.cnblogs.com/AimeeCodeWorld/p/10963224.html
Copyright © 2011-2022 走看看