程序以Python扩展表示为n(t)格式的字符串
假设我们有一个字符串s,它正在编码一个更长的字符串。s表示为的串联n(t),n(t)表示t的串联n次,并且t是常规字符串或它是递归的另一个编码字符串。我们必须找到的解码版本。
因此,如果输入类似于s=“3(pi)2(3(am))0(f)1(u)”,则输出将为“pipipiamamamamamamu”
在线示例
让我们看下面的实现以更好地理解-
class Solution:
def solve(self, s):
i = 0
def parse():
nonlocal i
ans = []
while i < len(s) and s[i] != ")":
if s[i].isdigit():
d = 0
while s[i].isdigit():
d = 10 * d + int(s[i])
i += 1
i += 1
segment = parse()
i += 1
ans.extend(segment for _ in range(d))
else:
ans.append(s[i])
i += 1
return "".join(ans)
return parse()
ob = Solution()
s = "3(pi)2(3(am))0(f)1(u)"
print(ob.solve(s))输入值
"3(pi)2(3(am))0(f)1(u)"输出结果
pipipiamamamamamamu
热门推荐
10 关于糖果的祝福语简短
11 朋友新工作祝福语简短
12 新年公司祝福语简短牛年
13 升职加薪的祝福语简短
14 退伍祝福语老师简短
15 女儿生日祝福语英语简短
16 给妈妈祝福语简短内容
17 2026新年的简短祝福语
18 考上大学简短祝福语、