题解 | #字符串解码#

字符串解码

https://www.nowcoder.com/practice/4e008fd863bb4681b54fb438bb859b92

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param s string字符串 
# @return string字符串
#
class Solution:
    def decodeString(self , s: str) -> str:
        # write code here
        stack,res,multi = [],'',0
        for c in s:
            if c >='0' and c<='9':
                multi = multi*10 + int(c)
            elif c =='[':
                stack.append((multi,res))
                multi = 0
                res = ''
            elif c == ']':
                cur_multi,cur_res = stack.pop()
                res = cur_res+res*cur_multi
            else:
                res += c
        return res

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务