题解 | #表示数字#

表示数字

https://www.nowcoder.com/practice/637062df51674de8ba464e792d1a0ac6

const rl = require("readline").createInterface({ input: process.stdin });
var iter = rl[Symbol.asyncIterator]();
const readline = async () => (await iter.next()).value;

void (async function () {
    // Write your code here
    while ((line = await readline())) {
        function isNum(s) {
            s = String(s);
            if (s.charCodeAt(0) <= 57 && s.charCodeAt(0) >= 48) {
                return true;
            }
            return false;
        }

        // var line = 'Jkdi234klowe90a3';
        var arr = line.split("");
        var flag = isNum(line.charAt(0)); //flag = true表示在当前字符之前的连续字符是数字

        for (var i = 1; i < arr.length; i++) {
            var c = arr[i];
            if (isNum(c) && flag == false) {
                arr.splice(i, 0, "*");
                flag = true; //进入数字序列
            } else if (!isNum(c) && flag == true) {
                arr.splice(i, 0, "*");
                flag = false; //进入字母序列
            }
        }
        //如果首尾是数字,补*
        if (isNum(arr[0])) arr.splice(0, 0, "*");
        if (isNum(arr[arr.length - 1])) arr.push("*");
        console.log(arr.join(""));
    }
})();

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务