Day8: 字符串基础 |

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();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值