当前位置: 首页 > news >正文

394. 字符串解码

在这里插入图片描述
思路

t:存储操作的数据

遇到’]'前的字符入栈,遇到‘]’说明有循环:

对之前入栈的数据进行出栈操作,遇到’['说明已找到此时需要循环的字符串s,将s反转(栈先进后出,反转后才是原字符串)

继续出栈,若出栈的数字,找到非数字为止,则非数字之前的数据n即为要循环的次数

找到循环的字符串和循环次数后,进行循环,接着将循环后的字符依次存入栈t

class Solution(object):def decodeString(self, s):""":type s: str:rtype: str"""t =[]i= 0while i <len(s):if s[i]!=']':t.append(s[i])i+=1else:#要循环的字符串s1=''while t[-1]!='[':s1+=t.pop()t.pop()s1=s1[::-1]#要循环的次数n =''while len(t)>0 and t[-1].isdigit() :n+=t.pop()n=int(n[::-1])s1*=nfor j in s1:t.append(j)i+=1return ''.join(t)

ps:
在这里插入图片描述


http://www.mrgr.cn/news/42851.html

相关文章:

  • 如何使用虚拟机充当软路由
  • 10.4每日作业
  • Docker 从安装到实战
  • 链式前向星(最通俗易懂的讲解)
  • P4240 毒瘤之神的考验
  • 杀毒软件原理
  • kubeadm部署k8s
  • flutter_鸿蒙next_Dart基础③函数
  • 计算机网络——应用层
  • 【Qt】控件概述(2)—— 按钮类控件
  • Java LeetCode 练习
  • Qt自定义控件:雷达扫描
  • 155. 最小栈
  • java相关新技术
  • isinstance()学习
  • 《计算机原理与系统结构》学习系列
  • idea创建springboot模块
  • 在 ArkTS 网络请求中,重新封装一下 http 模块
  • pWnOS2.0 靶机渗透( cms 渗透,php+mysql 网站渗透,密码碰撞)
  • 业务封装与映射 -- 映射方式