剑指 Offer JavaScript刷题 第 4天 字符串(简单)

371 阅读1分钟

剑指 Offer 05. 替换空格

对字符串的处理可以直接进行相加,然后对两个字符串延长

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

示例 1:

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

限制:

0 <= s 的长度 <= 10000

来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/ti… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

/**
 * @param {string} s
 * @return {string}
 */
var replaceSpace = function(s) {
    // 这个就是简单的对字符串进行处理
    // 字符串可以使用 + ,来对字符进行增加
    var len = s.length
    var res = ''
    for(var i = 0;i < len;i++){
        if(s[i] == ' '){
            res += '%20'
        }else{
            res += s[i]
        }
    }
    return res
};

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

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

示例 1:

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

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

限制:

1 <= k < s.length <= 10000

来源:力扣(LeetCode) 链接:leetcode-cn.com/problems/zu… 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

/**
 * @param {string} s
 * @param {number} n
 * @return {string}
 */
var reverseLeftWords = function(s, n) {
    // 就是把前几个数,加到最后面去
    // 进行一次循环提取出前面的和后面的,然后组合起来
    var bef = ''
    var aft = ''
    for(var i = 0;i < s.length;i++){
        if(i < n){
            bef += s[i]
        }else{
            aft += s[i]
        }
    }
    var res = aft + bef 
    return res
};