关于leetcode:LeetCode刷题计划Day-3

剑指 Offer 05. 替换空格

  • 题目形容:

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

    示例1:

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

    限度:

    • 0 <= s 的长度 <= 10000
  • 解题思路:

    遍历字符串中每个字符进行替换:

    func replaceSpace(s string) string {
        var res []byte
        for _, c := range []byte(s) {
            if string(c) == " " {
                res = append(res, []byte("%20")...)
            } else {
                res = append(res, c)
            }
        }
        return string(res)
    }

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

  • 题目形容:

    字符串的左旋转操作是把字符串后面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的性能。比方,输出字符串”abcdefg”和数字2,该函数将返回左旋转两位失去的后果”cdefgab”。

    示例1:

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

    示例2:

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

    限度:

    • 1 <= k < s.length <= 10000
  • 解题思路:

    从新切片:

    func reverseLeftWords(s string, n int) string {
        bytes := []byte(s)
        bytes = append(bytes[n:], bytes[:n]...)
        return string(bytes)
    }

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理