<LeetCode天梯>Day015 反转字符串(双指针) | 初级算法 | Python

举报
府学路18号车神 发表于 2022/05/11 15:57:22 2022/05/11
【摘要】 以下为我的天梯积分规则:每日至少一题:一题积分+10分 若多做了一题(或多一种方法解答),则当日积分+20分(+10+10)若做了三道以上,则从第三题开始算+20分(如:做了三道题则积分-10+10+20=40;做了四道题则积分–10+10+20+20=60)初始分为100分若差一天没做题,则扣积分-10分(周六、周日除外注:休息)坚持!!! 初级算法 刷题目录 字符串 题干编写一个函数,其...

以下为我的天梯积分规则

每日至少一题:一题积分+10分
若多做了一题(或多一种方法解答),则当日积分+20分(+10+10)
若做了三道以上,则从第三题开始算+20分(如:做了三道题则积分-10+10+20=40;做了四道题则积分–10+10+20+20=60


初始分为100分
若差一天没做题,则扣积分-10分(周六、周日除外注:休息
坚持!!!


初级算法

刷题目录

字符串

在这里插入图片描述

题干

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

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

示例1:

输入:s = [“h”,“e”,“l”,“l”,“o”]
输出:[“o”,“l”,“l”,“e”,“h”]

示例2:

输入:s = [“H”,“a”,“n”,“n”,“a”,“h”]
输出:[“h”,“a”,“n”,“n”,“a”,“H”]


分析:

这里说两句,虽然Python提供了很多很多的库和内置函数,可以解决很多问题,留言区有位题友说的很好,但是如果是来刷力扣,那么请记得自己的初心,如果仅仅是为了找工作,请左转百度题库。

在这里插入图片描述

回归正题,为了让自己变强,少用便捷的方法。
今天的字符串的题还算比较简单吧,本题我们需要操作字符串,让其翻转,那么和之前的数组的翻转操作类似,我们可以用双指针,递归的思想,只能对原数组进行操作,不开辟新的数据空间。

双指针法

我们可以设两个指针,p1、p2,一个头指针,一个尾指针,一头一尾,然后进行交换操作,遍历所有,最终完成操作。

class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
        n = len(s)
        p1 = n-1
        p2 = 0
        while p1 >= (n//2):
            s[p1], s[p2] = s[p2], s[p1]
        p2 += 1
        p1 -= 1

速度感觉还行吧~
在这里插入图片描述
在这里插入图片描述

内置函数法(玩笑)

由于是数组,我们可以用切片翻转,虽然这个方法不太聪明,且违背初心,我们还是得掌握一下

class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
		s[:] = s[::-1]

在这里插入图片描述

class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
		s.reverse()

在这里插入图片描述
投机取巧,这样不好,不建议这样做哈!

不忘初心!

References

作者:力扣 (LeetCode)
链接:https://leetcode-cn.com/leetbook/read/top-interview-questions-easy/xnhbqj/
来源:力扣(LeetCode)


今日得分:+10
总得分:350 (后面两种走捷径的方法就不加分了今天,哈哈)

加油!!!

❤坚持读Paper,坚持做笔记,坚持学习,坚持刷力扣LeetCode❤!!!
坚持刷题!!!打天梯!!!
To Be No.1

⚡⚡


创作不易⚡,过路能❤关注收藏点个赞三连就最好不过了

ღ( ´・ᴗ・` )


我们奋力前行,逆水行舟,被不断向后推,直至回到往昔岁月。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。