LeetCode | 394.字符串解码

主要逻辑  
  判断是"]" 取字母 合并
  判断数字 乘上面的字母 加入列表
pending_str = "3[m2[c]]"
temp_list = []

for i in pending_str:
    if i == "]":
        multiplier = ""
        int_num = 0
        while temp_list[-1] != "[":  # 判断如果是字母那就把它join下
            multiplier = temp_list.pop() + multiplier
        temp_list.pop()     # 删除 "["
        while temp_list and temp_list[-1].isdigit():  # 判断如果是数字那就把它和上面字母相乘
            int_num = temp_list.pop()
        temp_list.append(multiplier*int(int_num))
    else:
        temp_list.append(i)
print(temp_list[0])

 

posted @ 2021-08-03 16:31  黄金国的大象  阅读(35)  评论(0编辑  收藏  举报