剑指 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) }