344.反转字符串
解题思路
双指针
代码
var reverseString = function(s) {
for(let left = 0,right = s.length-1; left<=right; left++,right--) {
let temp = s[left];
s[left] = s[right];
s[right] = temp;
}
return s;
};
541. 反转字符串II
解题思路
代码
var reverseStr = function(s, k) {
var arr = s.split('');
// 注意: 2 * k 需要括号括起来
var count = Math.floor(s.length / (2 * k));
var last = s.length - count * 2 * k;
if(last >= k && last < 2 * k){
count++;
}
for(let i = 0; i< count; i++){
let left = i * 2 * k, right = i * 2 * k + k - 1;
while(left < right){
// 字符串不能直接交换,需要转换为数组
[arr[left], arr[right]] = [arr[right], arr[left]]
left++;
right--;
}
}
if(last < k){
let left = count * 2 * k, right = s.length - 1;
while(left < right){
[arr[left], arr[right]] = [arr[right], arr[left]]
left++;
right--;
}
}
return arr.join('');
};
卡码网:54.替换数字
解题思路
代码
let originalString = "The price is 100 dollars.";
let newString = originalString.replace(/(\d)/g, function(match, p1) {
return 'number';
});
console.log(newString);