这是我的代码:我想将字符串从“3[b2[ca]]”解码为“bcacabcacabcaca”。但我的结果是“[[[”。有人可以帮我吗?
def decompression(text):
intStack = []
charStack = []
temp = ""
result = ""
for i in range(len(text)):
if text[i].isdigit():
times = 0
while text[i].isdigit():
times = times * 10 + int(text[i])
i += 1
i -= 1
intStack.append(times)
elif text[i] == ']':
temp = ""
times = 0
if len(intStack) > 0:
times = intStack[-1]
intStack.pop()
while len(charStack) > 0 and charStack[-1] != '[':
temp += charStack[-1]
charStack.pop()
if len(charStack) > 0 and charStack[-1] == '[':
charStack.pop()
for j in range(times):
result += temp
for j in range(len(result)):
charStack.append(result[j])
result = ""
elif text[i] == '[':
if text[i-1].isdigit():
charStack.append(text[i])
else:
charStack.append(text[i])
intStack.append(1)
else:
charStack.append(text[1])
while len(charStack) != 0:
result += charStack[-1]
charStack.pop()
return result
print(decompression("3[b2[ca]]"))
我一直有错误的答案,我已经检查了好几次并使用其他在线编辑器进行了测试,但是这段代码有什么问题?我还是想不通。
呼如林
FFIVE
慕慕森
天涯尽头无女友
随时随地看视频慕课网APP
相关分类