任务描述
思路
- 栈
- 注意:pop()出字符串时,字符串有可能倒序,也有可能正序,甚至正序倒序都有,因此字符串长度不一
代码实现
class Solution:
def decodeString(self, s: str) -> str:
ans = []
for i in s:
if i != ']':
ans.append(i)
else:
letter =''
num = ''
while ans[-1] != '[':
letter += ans.pop()[::-1]
ans.pop()
while len(ans)!=0 and ans[-1] in '0123456789':
num += ans.pop()
ans.append(letter[::-1]*int(num[::-1]))
return ''.join(ans)