Python | Leetcode Python题解之第344题反转字符串

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

题目:

题解:

class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
        # 对撞指针
        left, right = 0, len(s)-1
        while left< right:
            if s[left] != s[right]:
                s[left], s[right] = s[right], s[left]
            left += 1
            right -= 1


class Solution:
    def reverseString(self, s: List[str]) -> None:
        
        # 递归
        def recur(s, left, right):
            if left >= right:
                return
            s[left], s[right] = s[right], s[left]
            recur(s, left+1, right-1)
        recur(s, 0, len(s))
LeetCode344_反转字符串 本文解析LeetCode344"反转字符串",提供了双指针和递归两种解法及C#、Python、C++实现。双指针法通过从两端向中间交换字符实现O(n)时间复杂度和O(1)空间复杂度的原地算法,递归法则展现优雅代码但空间复杂度较高。文章包含详细步骤分析、性能对比(C++最快)、常见错误提示及相关目推荐,适合初学算法的开发者掌握字符串反转核心技巧。 阅读详情

相关推荐

字符串】——python反转字符串的7种方法

元组使用小括号()来表示,其中的元素用逗号分隔。定义了一个包含三个整数元素的元组。与上面的定义是等价的。

weixin_47868976的博客 7081

Leetcode344--翻转字符串

Leetcode344:翻转字符串 编程语言:python 文章目录Leetcode344--翻转字符串目描述解思路 Leetcode344–翻转字符串 Leetcode344:翻转字符串 编程语言:python 目描述 原链接:https://leetcode-cn.com/problems/reverse-string/ (中文)       https://leetcode.com/...

EngineerHe的博客 4万+

day31【LeetCode力扣】344.反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组。修改输入数组**、使用 O(1) 的额外空间解决这一问。不要给另外的数组分配额外的空间,你必须**纸上得来终觉浅,绝知此事要躬行。ok了,就到这里叭~~~

canGfly的博客 656

力扣第344.反转字符串

​力扣344. 反转字符串Python3解答

weixin_47337647的博客 562

LeetCodePython344.反转字符串

练习大纲 344.反正转字符串 LeetCode :反转字符串中的单词IIIhttps://leetcode-cn.com/problems/reverse-words-in-a-string-iii/ LeetCode :除自身以外数组的乘积https://leetcode-cn.com/problems/product-of-array-...

IOT_victor的博客 367

代码随想录—力扣刷笔记之字符串

给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。对于字符串,我们就定义两个指针(或者说是索引下标),一个从字符串前面往后扫描,一个从字符串后面往前扫描,两个指针同时向中间移动,在移动的过程中实现元素交换。想一下,我们将整个字符串反转过来,那么单词的顺序指定是倒序了,只不过单词本身也倒序了,那么再把单词反转一下,单词不就正过来了。其实,思路就是 通过 整体倒叙,把两段子串顺序颠倒,两个段子串里的的字符在倒叙一把,

m0_49651195的博客 1920

LeetCode344. 反转字符串python

LeetCode344. 反转字符串python) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:[“h”,“e”,“l”,“l”,“o”] 输出:[“o”,“l...

wk的博客 254

力扣刷记录——344.反转字符串、345.反转字符串中的元音、349.两个数组的交集

本专栏主要记录力扣的刷记录,备战蓝桥杯,供复盘和优化算法使用,也希望给大家带来帮助,博主是算法小白,希望各位大佬不要见笑,今天要分享的是——《344.反转字符串、345.反转字符串中的元音、349.两个数组的交集》。

weixin_63866037的博客 574

LeetCode 344. 反转字符串

LeetCode 344. 反转字符串目描述思路第一种python代码第二种python代码 目描述 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问。 你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。 示例 1: 输入:[“h”,“e”...

qq_41854710的博客 117

算法训练Day8| LeetCode344. 反转字符串(双指针);541. 反转字符串II(模拟);offer5. 替换空格(双指针后序);151.反转字符串中的单词(综合);off58.左旋字符串

算法训练Day8| LeetCode344. 反转字符串(双指针);541. 反转字符串II(模拟);offer5. 替换空格(双指针后序);151.反转字符串中的单词(综合);offer58.左旋字符串

weixin_47284299的博客 1116

leetcode-344 | 反转字符串

title: leetcode-344 | 反转字符串 date: 2019-4-24 14:40:40 comments: true categories: “leetcode” tags: - leetcode 简单难度 344. 反转字符串( Reverse String) 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 char[] 的形式给出。 不要给另外的数组分配...

梦否 310

算法leetcode344. 反转字符串(rust和go)

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问

二当家的白帽子 867

力扣热门算法 322. 零钱兑换,344. 反转字符串,347. 前 K 个高频元素

322. 零钱兑换,344. 反转字符串,347. 前 K 个高频元素,每做详细思路梳理,配套Python&Java双语代码, 2024.04.02可通过leetcode所有测试用例。

引用原创内容标明出处即可 1243

【Day7】LeetCode344. 反转字符串,541. 反转字符串 II,卡码网:54.替换数字

扩充数组后,再从后向前进行替换会更加高效。个字符,这一步可以和前面的反转

Storynone的博客 586

LeetCodepython)——344. 反转字符串

目描述: 编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组char[]的形式给出。 不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问。 你可以假设数组中的所有字符都是ASCII码表中的可打印字符。 示例 1: 输入:["h","e","l","l","o"] 输出:["o","l",&quot

论程序员的自我修养的博客 7554

代码随想录算法训练营Day7 | Leetcode 344反转字符串、541反转字符串II、卡码网:54替换数字

编写一个函数,其作用是将输入的字符串反转过来。不要给另外的数组分配额外的空间,你必须。给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为 number。给定一个字符串 s 和一个整数 k,从字符串开头算起, 每计数至 2k 个字符,就反转这 2k 个字符中的前 k 个字符。例如,对于输入字符串 “a1b2c3”,函数应该将其转换为 “anumberbnumbercnumber”。你可以假设数组中的所有字符都是 ASCII 码表中的可打印字符。

叽里呱啦大王的博客 1029

代码随想录算法训练营第八天| 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字

本日主要内容为字符串的使用与操作,算法方面难度并不高,主要在于对自己使用的编程语言中的字符串一些基本的性质及操作,对于一些C++类中的函数使用应再熟悉一下。文章图片来源:代码随想录 (https://programmercarl.com/)

Mwicogito的博客 1052

代码随想录算法训练营第八天|leetcode344.反转字符串leetcode541. 反转字符串II、卡码网54. 替换数字

这道和C++语法不一样的地方就是,字符串内部不能进行直接的反转操作,所以就需要先将其转换为一个列表,然后对列表2*k长度数据的前k个数据进行翻转。虽然字符串内部不能直接进行一个迭代的操作,但是字符串对其进行一个切片,切片位置的返回是可以变换的,因此也可进行另一种编码。自己的思路:这道是有思路,但是写的时候就很头疼,而且代码内的内容无法写通,有一种很乱的感觉,嗯,自己没写出来这道。自己的思路:这道想的就是循环遍历,判断其是不是数字,如果是的话我就进行一个列表中的替换,否则就是直接循环。

angela3264的博客 548

LEETCODE | PYTHON | 344 | 反转字符串

LEETCODE | PYTHON | 344 | 反转字符串

Angelawlc的博客 173
上一篇: Python | Leetcode Python题解之第342题整数拆分
下一篇: Python | Leetcode Python题解之第345题反转字符串中的元音字母
Mopes__
博客等级 码龄3年 3006粉丝 489原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值