示例 1:
输入:s = "3[a]2[bc]"
输出:"aaabcbc"
示例 2:
输入:s = "3[a2[c]]"
输出:"accaccacc"
示例 3:
输入:s = "2[abc]3[cd]ef"
输出:"abcabccdcdcdef"
示例 4:
输入:s = "abc3[cd]xyz"
输出:"abccdcdcdxyz"
实现:
var decodeString = function(s) {
while(/\d+\[[a-zA-Z]+\]/.test(s)){
s=s.replace(/\d+\[[a-zA-Z]+\]/g,(match)=>{
const repeatNum = parseInt(match.match(/^\d+/)[0])
const str = match.match(/\[[a-zA-Z]+\]/)[0]
let subStr = str.replace(/[\[\]]/g,'')
return subStr.repeat(repeatNum)
})
}
return s;
};
网友评论