描述
对于给定的若干个单词组成的句子,每个单词均由大小写字母构成,单词间使用非字母字符分隔。输出以单词为单位逆序排放的结果,即仅逆序单词间的相对顺序,不改变单词内部的字母顺序。
特别地,在输出结果中,去除原有的分隔符,转而使用单个空格间隔单词。
输入描述:
在一行上输入若干个字符串,每个字符串长度为 1≦length(s)≦20 ,仅由大小写字母构成,代表一个单词。单词间还夹杂了一定数量的非字母字符(但保证是可见字符),代表分隔符。
除此之外,保证总字符长度不超过 104 。
输出描述:
在一行上输出一个句子,代表以单词为单位逆序排放的结果。单词间使用单个空格分隔。
示例1
输入 Nowcoder Hello
输出 Hello Nowcoder
示例2
输入 $bo*y gi!r#l
输出 l r gi y bo
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())) {
// 处理非字符成空格 + 处理2个或者2个以上的空格为一个空格
let tokens = String(line)
.replace(/[^A-z]/g, " ")
.replace(/\s{2,}/g, " ");
let arr = tokens.split(" ");
arr.reverse();
console.log(arr.join(" "));
}
})();