- 解压字符串
输入 : “HG[3|B[2|CA]]F”
输出 : “HGBCACABCACABCACAF”
解释 : HG[3|B[2|CA]]F −−> HG[3|BCACA]F −−> HGBCACABCACABCACAF
class Solution:
"""
@param Message: the string xiao Q sent to xiao A.
@return: the string after decompress
"""
position = 0
def dfs(self,Message):
length = len(Message)
res = ""
while self.position < length: #通过指针传递或全局变量position记录当前遍历位置
if Message[self.position] == '[': #当遍历到'['时,记录重复的数字
repeat_times = 0
self.position += 1
while Message[self.position] != '|':
repeat_times = repeat_times * 10 + (int(Message[self.position]) - int('0')) #从'|'下一个位置开始调用递归函数
self.position += 1
self