HJ13 句子逆序
题目描述
示例
代码
代码1 直接使用数组的api,split、reverse
js
/*
句子逆序 直接使用数组的api
split
reverse
*/
let readline = require('readline')
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.on('line', line=>{
let newStr = line.split(' ').reverse().join(' ')
console.log( newStr )
})
代码2 倒着遍历,自己拼结果
js
/*
句子逆序,第二种方法
倒着遍历字符串,把每个字符往头部插入
当碰到空格的时候,换下一个
*/
let readline = require('readline')
let rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
rl.on('line', line=>{
let resultArr = [] // 存放结果的数组
let tempArr = [] // 中间缓存的单词
// 倒着遍历字符串
for( let i = line.length - 1; i >=0; i-- ){
let item = line[i]
if( item === ' ' ){// 当遍历到空格的时候,换下一个
resultArr.push(tempArr.join(''))
tempArr.length = 0 // 清空临时数组
}else { // 当不是空格的时候,往缓存数组头部添加值
tempArr.unshift(item)
}
}
if( tempArr.length > 0 ){ // 如果最后临时数组没清空,说明没有碰到空格,或者是最后一位
resultArr.push(tempArr.join(''))
tempArr.length = 0 // 清空临时数组
}
console.log( resultArr.join(' ') )
})