代码随想录算法训练营第七天 |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)```
相关推荐
纽扣6673 小时前
【算法进阶之路】链表进阶:删除、合并、回文与排序全解析
数据结构·算法·链表
有一个好名字3 小时前
工具即双手 —— 从 Bash 到 Tool Dispatch Map
开发语言·chrome·bash
Lyyaoo.3 小时前
优惠券秒杀业务分析
java·开发语言
消失的旧时光-19433 小时前
统一并发模型:线程、Reactor、协程本质是一件事(从线程到协程 · 第6篇·终章)
java·python·算法
智者知已应修善业4 小时前
【51单片机不用数组动态数码管显示字符和LED流水灯】2023-10-3
c++·经验分享·笔记·算法·51单片机
DevilSeagull4 小时前
MySQL(2) 客户端工具和建库
开发语言·数据库·后端·mysql·服务
MATLAB代码顾问4 小时前
改进遗传算法(IGA)求解作业车间调度问题(JSSP)——附MATLAB代码
开发语言·matlab
AI进化营-智能译站4 小时前
ROS2 C++开发系列16-智能指针管理传感器句柄|告别ROS2节点内存泄漏与野指针
java·c++·算法·ai
syker5 小时前
AIFerric深度学习框架:自研全栈AI基础设施的技术全景
开发语言·c++
HSunR5 小时前
dify 搭建ai作业批改流
开发语言·前端·javascript