LeetCode 刷题—面试题 01.03. URL化

79 阅读1分钟

题目

URL化。编写一种方法,将字符串中的空格全部替换为%20。假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的“真实”长度。(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作。)

解题思路

已经知道字符串的真实长度,直接使用substr先将字符串截取出来,也可以使用substring,但是使用方法不同

let str = 'abcdef';
console.log(str.substr(1,3));   // bcd
console.log(str.substring(1,3));    // bd 不会截取到第二个参数的位置

然后使用replaceAll直接替换,使用replace只能替换一个位置

let str = 'abdcdef';
console.log(str.replace('d', 'x'))   //abxcdef
console.log(str.replaceAll('d', 'x'))   //abxcxef

代码

/**
 * @param {string} S
 * @param {number} length
 * @return {string}
 */
var replaceSpaces = function(S, length) {
    return S.substr(0,length).replaceAll(' ','%20');
};