LeetCode 12.13(剑指offer)

74 阅读1分钟

05.替换空格

//cool
var replaceSpace = function(s) {
    s = s.replaceAll(" ","%20");
    return s;
};
//not cool
var replaceSpace = function(s) {
    let res = "";
    for(let i of s){
        if(i===" "){
            res += "%20";
        }
        else{
            res += i;
        }
    }
    return res;
};

58.左旋转字符串

//借助数组
var reverseLeftWords = function(s, n) {
    let res = [];
    let len = s.length
    for(let i in s){
        parseInt(i);
        if(i<n){
            res.push(s[i]);
        }
        else{
            res.unshift(s[len-i+n-1]);
        }
    }
    return res.toString().slice("").replaceAll(",","");
};
//原地
var reverseLeftWords = function(s, n) {
    let res = [];
    let len = s.length
    for(let i in s){
        parseInt(i);
        if(i<n){
            res.push(s[i]);
        }
        else{
            res.unshift(s[len-i+n-1]);
        }
    }
    return res.toString().slice("").replaceAll(",","");
};

03.数组中的重复数字

var search = function(nums, target) {
    let res = 0;
    for(let i of nums){
        if(i===target){
            res++;
        }
    }
    return res;
};

53. 0~n-1中缺失的数字

var missingNumber = function(nums) {
    let n = nums.length;
    let res = Math.floor((n+1)*n/2);
    for(let i of nums){
        res -= i;
    }
    return res;
};