day3 题目:剑指 Offer 05. 替换空格、剑指 Offer 58 - II. 左旋转字符串
知识点:字符串,难度为简单、简单
学习计划链接:「剑指 Offer」 - 学习计划
题目 | 知识点 | 难度 |
---|---|---|
剑指 Offer 05. 替换空格 | 字符串 | 简单 |
剑指 Offer 58 - II. 左旋转字符串 | 数学、双指针、字符串 | 简单 |
# 剑指 Offer 05. 替换空格
请实现一个函数,把字符串 s
中的每个空格替换成 "%20"。
示例 1:
输入: s = "We are happy."
输出: "We%20are%20happy."
限制:
0 <= s 的长度 <= 10000
# 思路及代码
一行代码题
js 直接正则替换,或者遍历替换
var replaceSpace = function(s) { | |
return s.replace(/ /g, '%20'); | |
}; |
# 剑指 Offer 58 - II. 左旋转字符串
字符串的左旋转操作是把字符串前面的若干个字符转移到字符串的尾部。请定义一个函数实现字符串左旋转操作的功能。比如,输入字符串 "abcdefg" 和数字 2,该函数将返回左旋转两位得到的结果 "cdefgab"。
示例 1:
输入: s = "abcdefg", k = 2
输出: "cdefgab"
示例 2:
输入: s = "lrloseumgh", k = 6
输出: "umghlrlose"
限制:
1 <= k < s.length <= 10000
# 思路及代码
同样一行代码题。
前 n 个字符转移到最后接上,就好了,也可以双指针(但没必要)
/** | |
* @param {string} s | |
* @param {number} n | |
* @return {string} | |
*/ | |
var reverseLeftWords = function(s, n) { | |
return s.substr(n) + s.substr(0, n); | |
}; |