题解 | #字符串排序#

字符串排序

https://www.nowcoder.com/practice/5af18ba2eb45443aa91a11e848aa6723

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
    let lineNum = 0;
    let num = 0;
    let arr = [];
    while ((line = await readline())) {
        lineNum++;
        let tokens = line.trim();
        if (lineNum === 1) {
            if (!/^[1-9]+\d*$/.test(tokens)) {
                console.log("请输入正整数");
                return;
            }
            num = Number(tokens);
        } else {
            if (tokens.length === 0) {
                console.log("请输入字符串");
                return;
            } else if (tokens.length > 100) {
                console.log("输入的字符串长度不能超过100");
                return;
            } else if (!/^[a-zA-Z]+$/.test(tokens)) {
                console.log("请保证输入的字符串只包含大小写字母");
                return;
            }
            arr.push(tokens);
            if (arr.length === num) {
                sortFn(arr);
            }
        }

        function sortFn(arr) {
            let newArr = arr.sort((a, b) => {
                if (a> b) {
                    return 1;
                } else if (a < b) {
                    return -1;
                } else if (a === b) {
                    return 0;
                }
                // a.localeCompare(b)
            });

            newArr.forEach((item, index) => {
                console.log(item);
            });
        }
    }
})();
应该考虑大小写字母

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

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