题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
https://www.nowcoder.com/practice/2c81f88ecd5a4cc395b5308a99afbbec
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
// 双指针法
rl.on('line', function (line) {
// 双指针,一个指向数字字符串左边,一听歌指向右边
let [left, right] = [0,1]
// 保存所有数字字符串
let res = []
// 保存数字四字符串的最大长度
let max = 0
while(left < line.length){
// 找到某个数字字符串的子一个数字
if(/[0-9]/.test(line[left])){
right = left + 1
// 找到数字字符串的最有一个字符的下一个字符,方便slice操作
while(/[0-9]/.test(line[right]) && right < line.length){
right++
}
// 截取数字字符串
const tmp = line.slice(left, right)
// 保存最大长度
max = Math.max(max, tmp.length)
// 保存數字字符串
res.push(tmp)
// 移动左指针
left = right
}
left++
}
// 根据要求展示最长的数字字符串
console.log(`${res.filter(item=>item.length === max).join('')},${max}`)
});

