程序以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
热门推荐
1 如何训练狗狗不叫
2 训练狗狗不叫
3 训练狗狗随行
4 怎么训练狗狗不叫
7 训练比熊狗狗教程
10 上海狗狗训练
11 怎么训练狗狗上厕所
12 训练狗狗趴下
13 狗狗服从训练
14 训练狗狗拒食
15 训练狗狗笑
16 训练狗狗大便
17 训练狗狗立
18 训练狗狗捡东西