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

Leetcode 394. 字符串解码

在这里插入图片描述

心路历程:

这道题看到括号直接想到栈,五分钟新题直接秒了,一开始以为需要两个栈分别存储数字和非数字,后来发现一个栈就够了,思路如图:
在这里插入图片描述
这道题考察的应该是队栈这两种数据结构的转换,因为每次字符串和数字都需要反过来,并且最后的结果其实是按队列出来的

注意的点:

1、注意字符串和数字pop出来之后需要用[::-1]取个反
2、string.isdigit()是用来判断string里是否只包含整数数字的(有小数点也会返回False)

解法:栈

class Solution:def decodeString(self, s: str) -> str:# 考察栈的,搞一个栈即可from collections import dequesk = deque([])  for cha in s:if cha != ']':  sk.append(cha)else:  # 先pop字符串(反过来)再pop数字(反过来),然后再放回去temp, num = [], ''while sk[-1] != '[':  temp.append(sk.pop())temp = temp[::-1]  # 反过来,注意这里最好temp用列表比较好sk.pop() # [ 出栈,开始pop数字while sk and sk[-1].isdigit():  num += sk.pop()num = int(num[::-1])sk.append(''.join(temp * num))return ''.join(sk)
http://www.lryc.cn/news/335964.html

相关文章:

  • LeetCode - 1702. 修改后的最大二进制字符串
  • 虹科Pico汽车示波器 | 免拆诊断案例 | 2011款东风悦达起亚K5车发动机偶尔起动困难
  • Docker- Redis
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单视频处理实战案例 之八 简单视频素描效果
  • 数据结构——线性表(链式存储结构)
  • 面试算法-169-二叉树的中序遍历
  • 计算机视觉——引导APSF和梯度自适应卷积增强夜间雾霾图像的可见性算法与模型部署(C++/python)
  • git bash用法-批量修改文件名
  • 分布式社交媒体:探索Web3对社交媒体的改变
  • vue的监视属性
  • 外包干了15天,技术倒退明显
  • 防止邮箱发信泄露服务器IP教程
  • 鸿蒙HarmonyOS开发实战:【分布式音乐播放】
  • 【iOS ARKit】App 中嵌入 AR Quick Look
  • 【Web开发】jquery图片放大镜效果制作变焦镜头图片放大
  • RTC实时显示时间(备份电源 备份域的作用)
  • 【YOLOv9】完胜V8的SOTA模型Yolov9(论文阅读笔记)
  • 学生管理系统详细需求文档
  • 产品经理功法修炼(4)之产品管理
  • 【LeetCode热题100】【二叉树】二叉树展开为链表
  • 云原生__K8S
  • nginx配置证书和私钥进行SSL通信验证
  • 【面试题】微博、百度等大厂的排行榜如何实现?
  • com.intellij.diagnostic.PluginException 问题
  • Altair® (澳汰尔)Inspire™ Render —— 强大的 3D 渲染和动画工具
  • 虚幻引擎启动报错记录
  • 最祥解决python 将Dataframe格式数据上传数据库所碰到的问题
  • 【汇编语言实战】统计个数
  • SQLite数据库概述及在Java中的应用
  • 嵌入式单片机补光灯项目操作实现