题解 | #奶牛名字解码#
奶牛名字解码
https://www.nowcoder.com/practice/5b61b03a4842422a8273bcfeddb50b80
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param s string字符串
# @return string字符串
#
class Solution:
def decodeCowName(self , s: str) -> str:
# write code here
#用栈来解码
stack=[]
current_num=0 #用于存储当前的数字
current_str='' #用于存储当前的字符
for char in s:
if char.isdigit():
current_num= current_num*10 + int(char) #如果是数字则将数字累加到current_num中
elif char == '[':
#如果是'['则吧当前数字和current_char压入栈中,并把当前数字和字符清零
stack.append((current_num,current_str))
current_num=0
current_str=''
elif char ==']':
#如果是']',则出栈
num,pre_char=stack.pop()
current_str = pre_char + current_str*num
else:
current_str += char
return current_str



