猿辅导2019秋招笔试题

题目好像叫解码,笔试的第一题。
字符串解压,如((ab)2c4)2abc,(ab)2解压成 abab,c4解压成cccc,括号里面的字符要按照括号外面的数字进行翻倍。
猿辅导2019秋招笔试题_第1张图片
我们可以用一个列表来解决这个问题。把这个字符串的每一个字符存在这个列表中,然后我们逐一检查列表。
遇到每一个右括号,我们就记录右括号后面的数字num和两个括号中间的字符串。
猿辅导2019秋招笔试题_第2张图片
字符串进行复制之后我们还需要把这些字符串插入回去。
遇到数字直接把数字前面的单一字符翻倍就可以了
猿辅导2019秋招笔试题_第3张图片
这样遍历一次我们就已经把所有的字符串都解压完毕了,很简单的一个题,当时太紧张没有A出来。

代码

s = '(((ab)2c4)2abc)3'
stack = [i for i in s]
output =""
i = 0
while i

比较着急没有写括号后面是两位数的情况= =。就在你找到右括号往右取数字的时候一直找到不是数字的那个值之前就可以了。

你可能感兴趣的:(算法)