代码随想录算法训练营第七天 |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)```
相关推荐
weixin_456588157 分钟前
JVM(java虚拟机)
java·开发语言·jvm
hygge9997 分钟前
JVM 内存结构、堆细分、对象生命周期、内存模型全解析
java·开发语言·jvm·经验分享·面试
小二·9 分钟前
Java虚拟机(JVM)面试题(51道含答案)
java·开发语言·jvm
无敌最俊朗@12 分钟前
03-事务高频面试总结
java·开发语言·jvm
hygge99919 分钟前
类加载机制、生命周期、类加载器层次、JVM的类加载方式
java·开发语言·jvm·经验分享·面试
修行者Java21 分钟前
JVM 垃圾回收算法的详细介绍
jvm·算法
AndrewHZ23 分钟前
【图像处理基石】什么是光流法?
图像处理·算法·计算机视觉·目标跟踪·cv·光流法·行为识别
程序员爱钓鱼26 分钟前
Python 编程实战 · 实用工具与库 — Flask 基础入门
后端·python·面试
程序员爱钓鱼32 分钟前
Python编程实战 - Python实用工具与库 - 文件批量处理脚本
后端·python·面试
mjhcsp1 小时前
C++ 三分查找:在单调与凸函数中高效定位极值的算法
开发语言·c++·算法