题解 | #在字符串中找出连续最长的数字串#
在字符串中找出连续最长的数字串
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}`) });