2022跟着leedcode学数据结构--第33天

83 阅读1分钟

「这是我参与2022首次更文挑战的第33天,活动详情查看:2022首次更文挑战

image.png

[剑指 Offer 05. 替换空格]

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

示例 1:

输入:s = "We are happy." 输出:"We%20are%20happy."   限制:

0 <= s 的长度 <= 10000

解题思路:

  • 本题考察遍历和替换
  • 先遍历 s 判断是否为空格,是空格就替换。
class Solution:
    def replaceSpace(self, s: str) -> str:
        res= ""
        for row in s:
            if row==' ':
                res+='%20'
            else:
                res+=row
        return res

执行结果:

image.png

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

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

示例 1:

输入: s = "abcdefg", k = 2 输出: "cdefgab" 示例 2:

输入: s = "lrloseumgh", k = 6 输出: "umghlrlose"  

限制:

1 <= k < s.length <= 10000

解题思路:

  • 本题考察的是列表的操作
  • 使用列表的切片方法,一行代码,轻轻松松搞定。
class Solution:
    def reverseLeftWords(self, s: str, n: int) -> str:
        return s[n:]+s[:n]

执行结果:

image.png