做婚恋网站投入多少钱,安阳网络教研平台首页,seo搜索引擎优化是什么意思,建立网站的链接结构有哪几种形式简述其各自的优缺点博客主页#xff1a;誓则盟约系列专栏#xff1a;IT竞赛 专栏关注博主#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出#xff0c;及时修改感谢大家点赞#x1f44d;收藏⭐评论✍ 1910.删除一个字符串中所有出现的给定子字符串【中等】
题目#xff1a; …博客主页誓则盟约系列专栏IT竞赛 专栏关注博主后期持续更新系列文章如果有错误感谢请大家批评指出及时修改感谢大家点赞收藏⭐评论✍ 1910.删除一个字符串中所有出现的给定子字符串【中等】
题目
给你两个字符串 s 和 part 请你对 s 反复执行以下操作直到 所有 子字符串 part 都被删除
找到 s 中 最左边 的子字符串 part 并将它从 s 中删除。
请你返回从 s 中删除所有 part 子字符串以后得到的剩余字符串。
一个 子字符串 是一个字符串中连续的字符序列。 示例 1
输入s daabcbaabcbc, part abc
输出dab
解释以下操作按顺序执行
- s daabcbaabcbc 删除下标从 2 开始的 abc 得到 s dabaabcbc 。
- s dabaabcbc 删除下标从 4 开始的 abc 得到 s dababc 。
- s dababc 删除下标从 3 开始的 abc 得到 s dab 。
此时 s 中不再含有子字符串 abc 。示例 2
输入s axxxxyyyyb, part xy
输出ab
解释以下操作按顺序执行
- s axxxxyyyyb 删除下标从 4 开始的 xy 得到 s axxxyyyb 。
- s axxxyyyb 删除下标从 3 开始的 xy 得到 s axxyyb 。
- s axxyyb 删除下标从 2 开始的 xy 得到 s axyb 。
- s axyb 删除下标从 1 开始的 xy 得到 s ab 。
此时 s 中不再含有子字符串 xy 。提示
1 s.length 10001 part.length 1000s 和 part 只包小写英文字母。 分析问题
思路1 题目很有意思哈从左往右遍历找到给定的part则删除part然后重新遍历有趣。那么这里我们用for循环肯定是不行的我们不知道什么时间截止所以考虑用while循环那么我们Python可以借助一个有趣的函数来帮助我们找part就是split函数。 split函数可以传入两个常用的参数参数1分隔标志。就是元素见了这个标志就把左右分成两部分这里的这个标志我们就可以设置为part遇见part就分隔如此part就会被自动删除。那么第二个参数是分隔次数。没错正好可以满足我们的需求我们每次删除一次都需要重新遍历一次那么我们就可以设置这个次数为1意思就是只分隔一次。 那么我们每次分隔遍历都会刷新一下swhile循环的进入条件就可以设置为 while part in s: 只要还存在part在s里那么就继续循环。直到最后返回s。
思路2 除了split函数有这个功能外其实还有一个不常用但是常见的函数也可以达到这种目的这个函数就是 replace函数。 replace函数可以接受三个参数分别为 要被替换的值 和 要替换成的值 以及 替换次数。这里我们就可以设置被替换掉的值为part那么把它给替换成空字符串,然后 替换次数还是设置为1次替换一次我们就重新循环一次。也是用while循环并且进入循环和退出循环的条件与上方一样。 代码实现
思路1代码实现
class Solution:def removeOccurrences(self, s: str, part: str) - str:while part in s:vs.split(part,1)sfor i in v:sireturn s思路2代码实现 class Solution:def removeOccurrences(self, s: str, part: str) - str:while part in s:s s.replace(part,,1)return s两者复杂度其实差不多但是思路二有点以空间换时间的意思了哈。
总结 共同点 目标相同两段代码的目的都是从给定的字符串 s 中移除所有出现的特定子字符串 part 。 考点 字符串操作包括字符串的查找、分割、替换和拼接等操作。循环控制使用 while 循环来持续处理直到满足特定条件。 思路 都是通过不断检查子字符串 part 在 s 中的存在情况来进行处理。 第一段代码通过 split 分割字符串然后重新拼接来实现移除。第二段代码直接使用 replace 方法替换子字符串每次只替换一次。循环的条件都是只要子字符串 part 还存在于字符串 s 中就继续处理。 这道题很考验对字符串切割和循环的熟练程度是练习字符串类型的好题这里也可以考虑使用数据结构 栈 来解题。栈 也可以找到目标字符串并实现删除的一个功能感兴趣的可以尝试。 “心节以信居神自为神上视异义者无知。” ——《道世》