Python版Day8

news/2024/11/15 0:41:57/

344. 反转字符串

编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/reverse-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

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

 541. 反转字符串 II

给定一个字符串 s 和一个整数 k,从字符串开头算起,每计数至 2k 个字符,就反转这 2k 字符中的前 k 个字符。

如果剩余字符少于 k 个,则将剩余字符全部反转。
如果剩余字符小于 2k 但大于或等于 k 个,则反转前 k 个字符,其余字符保持原样。
 

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/reverse-string-ii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

class Solution:def reverseStr(self, s: str, k: int) -> str:p = 0while p <len(s):p2 = p+k# 2. 对于字符串s = 'abc',如果使用s[0:999] ===> 'abc'。字符串末尾如果超过最大长度,则会返回至字符串最后一个值,这个特性可以避免一些边界条件的处理。#  如果开头大于最大长度会返回空字符串''s = s[:p] + s[p:p2][::-1] + s[p2:]p = p +2*kreturn s

 剑指 Offer 05. 替换空格

请实现一个函数,把字符串 s 中的每个空格替换成"%20"。

 

class Solution:def replaceSpace(self, s: str) -> str:res = []for i in range(len(s)):if s[i] == ' ':res.append('%20')else:res.append(s[i])return ''.join(res)

151. 反转字符串中的单词

给你一个字符串 s ,请你反转字符串中 单词 的顺序。

单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。

返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。

注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/reverse-words-in-a-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution:def reverseWords(self, s: str) -> str:# 删除前后空格s = s.strip()# 字符串反转s = s[::-1]# 拆分字符串反转每个单词# python split() 会删除所有的的空字符# ‘space   test'.split() -> ['space','test']# 再合并反转完的字符串s = ' '.join(word[::-1] for word in s.split())return s

 剑指 Offer 58 - II. 左旋转字符串

字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串"abcdefg"和数字2,该函数将返回左旋转两位得到的结果"cdefgab"。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/zuo-xuan-zhuan-zi-fu-chuan-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution:def reverseLeftWords(self, s: str, n: int) -> str:"""reversed() method: list- reversed() returns an iterator that retrieves the items in reverse order..reverse() function: string list tuple- reverses the original list in place. reverse() returns None."""s = list(s)# 反转前半段s[0:n] = list(reversed(s[0:n]))# 反转后半段s[n:] = list(reversed(s[n:]))# 反转整个字符串s.reverse() return "".join(s)#方法二# 后半段 + 前半段# return s[n:] + s[:n]

 


http://www.ppmy.cn/news/238304.html

相关文章

记录--JavaScript 中有趣的 9 个常用编码套路

这里给大家分享我在网上总结出来的一些知识&#xff0c;希望对大家有所帮助 1️⃣ set对象&#xff1a;数组快速去重 常规情况下&#xff0c;我们想要筛选唯一值&#xff0c;一般会想到遍历数组然后逐个对比&#xff0c;或者使用成熟的库比如lodash之类的。 不过&#xff0c;ES…

忘记iPhone锁屏密码?三种方法帮你顺利解决!

不论是苹果手机用户还是安卓手机用户&#xff0c;如果开机的锁屏密码忘记的话&#xff0c;应该是比较麻烦的一件事情&#xff0c;iPhone用户如果连续尝试6次密码都不对的话&#xff0c;iPhone将会自动锁死&#xff0c;也就变成了我们常说的“砖机”&#xff0c;不过在iPhone锁死…

华为交换机记录日志_华为交换机日志导出 华为交换机日志导出命令

怎么查看华为交换机的系统日志&#xff1f; 如果需要&#xff0c; 您可以手动将事件添加到您要设置的每个事件中&#xff0c;并将其添加到您要踩踏的电话中。 华为手机自有日历&#xff1a; 无一次性设置&#xff0c; 无共享日历链接&#xff0c; 只从其他日历导入华为日历&…

iphone已停用解锁大概多少钱_iPhone停用怎么解锁 三种处理方法详解

【巴士数码】一些用户遇到了iPhone被停用的情况,不知道怎么解锁的具体操作方法,现在和大家分享三种iPhone停用怎么解锁的处理方法。如果你的iPhone或者iPad被停用了可以试试以下三种方法进行解锁。 如果你记得密码的话,请过1分钟后再试一次。而在忘记密码的情况下,iPhone停…

完美解决iPhone自带的邮箱连接outlook后无法发送邮件问题

测试环境 iPhone7&#xff1b;IOS12.0 由于outlook邮箱在往国外发送邮件时非常方便&#xff0c;既不会想gmail一样被墙&#xff0c;又不会像qq、163等国内邮箱可能发送不出去&#xff1b;本人也申请了一个outlook邮箱&#xff0c;但是在iPhone上添加账户后&#xff0c;既然无法…

《Datawhale南瓜书》出第二版啦!

Datawhale干货 作者&#xff1a;Datawhale开源项目团队 作为机器学习的入门经典教材&#xff0c;周志华老师的《机器学习》&#xff0c;自2016年1月底出版以来&#xff0c;首印5000册一周售罄&#xff0c;并在8个月内重印9次。先后登上了亚马逊&#xff0c;京东&#xff0c;当…

springboot+vue医院网上预约挂号系统4n9w0

在线挂号平台已经成为它运营过程中至关重要的因素。医院挂号管理系统&#xff0c;是在计算机与通信设备十分完备的基础上&#xff0c;为医院管理人员、医生、用户提供的系统化的管理平台。 本系统需要实现基础的医院介绍、线上挂号、在线咨询、医生请假等几个主要功能。 管理员…

SQL了解之复制(二)

&#xff08;续&#xff09;从另一个master初始化slave 前面讨论的假设你是新安装的master和slave&#xff0c;所以&#xff0c;slave与master有相同的数据。但是&#xff0c;大多数情况却不是这样的&#xff0c;例如&#xff0c;你的master可能已经运行很久了&#xf…