344.反转字符串
JS 有自己的内置函数:
function reverseString(s: string[]): void {
s.reverse();
};
不过这个题要考察的是双指针:
function reverseString(s: string[]): void {
let left = 0;
let right = s.length - 1;
while(left < right){
[s[right], s[left]] = [s[left], s[right]]
left++;
right--;
}
};
541. 反转字符串II
借用上一个题写的函数
function reverseString(s: string[], start: number, length: number): void {
let left = start;
let right = start + length - 1;
while(left < right){
[s[right], s[left]] = [s[left], s[right]]
left++;
right--;
}
};
function reverseStr(s: string, k: number): string {
let sArr = [...s];
let start = 0;
for(let start = 0; start < s.length; start += 2 * k){
let length = s.length - start < k ? s.length - start : k;
reverseString(sArr, start, length);
}
return sArr.join('');
};
卡码网:54.替换数字
对于 JavaScript ,这个题重点有:
1. ACM 格式怎么写
2. 怎么判断一个字符是 数字 还是 字母:使用 Number 转换一个字符,如果是 NaN 则代表该字符是字母
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
function main() {
rl.on("line", (input) => {
let strArr = [...input];
let resultArr = strArr.map(letter => {
let isNumber = Number(letter);
if(isNumber) return 'number';
return letter;
})
console.log(resultArr.join(""));
})
}
main();