代码随想录算法训练营第七天 |151.翻转字符串里的单词

今天是代码随想录的第七天,写了力扣的151.翻转字符串里的单词;

之后或许还要再琢磨琢磨

代码随想录链接

力扣链接

151.翻转字符串里的单词,代码如下:

python 复制代码
# class Solution:
#     def reverseWords(self, s: str) -> str:
#         # Solution1
# (版本一)先删除空白,然后整个反转,最后单词反转。 因为字符串是不可变类型,所以反转单词的时候,需要将其转换成列表,然后通过join函数再将其转换成列表,所以空间复杂度不是O(1)

#         # 删除前后空白
#         s = s.strip()
#         # 反转整个字符串
#         s = s[::-1]
#         # 将字符串拆分为单词,并反转每个单词
#         s = ' '.join(word[::-1] for word in s.split())
#         return s

          # Solution2
          # 使用双指针;
class Solution:
    def reverseWords(self, s: str) -> str:
        # 将字符串拆分为单词,即转换成列表类型
        words = s.split()

        # 反转单词
        left, right = 0, len(words) - 1
        while left < right:
            words[left], words[right] = words[right], words[left]
            left += 1
            right -= 1

        # 将列表转换成字符串
        return " ".join(words)```
相关推荐
zyx没烦恼10 小时前
Qt 基础编程核心知识点全解析:含 Hello World 实现、对象树、坐标系及开发工具使用
开发语言·qt
木心爱编程10 小时前
C++链表实战:STL与手动实现详解
开发语言·c++·链表
mkhase10 小时前
9.11-QT-QT的基本使用
开发语言·qt
haogexiaole11 小时前
Dijkstra 算法
算法
Kyln.Wu11 小时前
【python实用小脚本-211】[硬件互联] 桌面壁纸×Python梦幻联动|用10行代码实现“开机盲盒”自动化改造实录(建议收藏)
开发语言·python·自动化
Ms_Big11 小时前
ppliteseg改rknn,部署在嵌入式板,加速模型
人工智能·python·深度学习
稻草人想看远方11 小时前
GC垃圾回收
java·开发语言·jvm
胡萝卜的兔12 小时前
go 日志的分装和使用 Zap + lumberjack
开发语言·后端·golang
浪扼飞舟12 小时前
c#基础(一)
开发语言·c#
papership12 小时前
【入门级-算法-6、排序算法: 插入排序】
数据结构·算法·排序算法