题目描述
blablabla
样例
blablabla
算法1
处理字符串第一个应该想到的就是正则表达式,无法AK才考虑优化,而这道题就可以使用。
正则各种语言都支持,4行代码搞定
(\d) 匹配数字
\1 重复匹配
*代表重复0~N次
整个正则匹配的结果下标是0
(\d)结果下标是1 这里用不到
Js代码
var countAndSay = function(n) {
let prev = '1'
for(let i = 1; i < n; i++){
prev = prev.replace(/(\d)\1*/g, item =>`${item.length}${item[0]}`)
}
return prev
};