发布时间:2023-08-18 11:00
实现
let msg = '2[3[a]2[3[u]2[p]]]'
console.log(msg)
function handleStr(str) {
let stack1 = [] // 存放数字
let stack2 = [''] // 存放字母
let index = 0
while(index < str.length) {
// console.log(stack2)
let nowStr = str.substring(index)
if(/^\d+\[/.test(nowStr)){
let num = nowStr.match(/^(\d+)\[/)[1]
index += num.length + 1
stack1.push(Number(num))
stack2.push('')
} else if(/^\w+\]/.test(nowStr)){
let word = nowStr.match(/^(\w+)\]/)[1]
index += word.length
console.log(stack2, stack2.length - 1)
stack2[stack2.length - 1] = word
} else if(nowStr[0] == ']'){
let num = stack1.pop()
let subStr = stack2.pop()
stack2[stack2.length - 1] += subStr.repeat(num)
index++
}
}
console.log(stack2, stack1)
return stack2[0]
}
handleStr(msg)
说明:每个 [ 前面必须有数字才算,否则结果不对。这里使用的是栈的思想来解决的
王心凌再次爆火,为了防止收费,我连夜用Python把她所有的MV离线
Simple-SR:Best-Buddy GANs for Highly Detailed Image Super-Resolution论文浅析
mysql 分区表 归档_详解 MySQL 数据库冷数据归档
跨平台的 Redis 桌面管理工具:Redis Desktop Manager中文版(Mac)
关于ORM实体映射的感想 (Object /Relational Mapper )
python向量机使用方法_机器学习算法之——支持向量机(Support Vector Machine)讲解及Python实现...