
力扣第394题 字符串解码
发布日期:2021-05-07 15:55:52
浏览次数:22
分类:精选文章
本文共 1702 字,大约阅读时间需要 5 分钟。
给定一个经过编码的字符串,返回它解码后的字符串。
编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a 或 2[4] 的输入。
示例 1:
输入:s = “3[a]2[bc]” 输出:“aaabcbc” 示例 2: 输入:s = “3[a2[c]]” 输出:“accaccacc”示例 3:
输入:s = “2[abc]3[cd]ef” 输出:“abcabccdcdcdef”示例 4:
输入:s = “abc3[cd]xyz” 输出:“abccdcdcdxyz”class Solution { public: string decodeString(string s) { stack digtal; stackstk; string AnsStr =""; int num = 0; int E=0; for(int i = 0;i ='a'&&s[i]<='z')||(s[i]>='A'&&s[i]<='Z')) { AnsStr += s[i]; } else if(s[i]=='[') { digtal.push(num); num = 0; stk.push(AnsStr); AnsStr =""; } else if(s[i]==']') { for(int i =0;i
python:
class Solution: def decodeString(self, s: str) -> str: str1 = "" num = 0 stkstr = list() stkint = list() for i in range(len(s)): if (s[i]>='a' and s[i]<='z') or (s[i]>='A' and s[i]<='Z'): str1 += s[i] elif s[i] =='[': stkint.append(num) stkstr.append(str1) str1 = "" num = 0 elif s[i] ==']': for j in range(stkint[-1]): stkstr[-1] += str1 str1= stkstr[-1] stkstr.pop() stkint.pop() else: num = num *10+(int(s[i])-int('0')) return str1
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月04日 19时12分40秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Android APK 重签名
2021-05-08
Mybatis【3】-- Mybatis使用工具类读取配置文件以及从属性读取DB信息
2021-05-08
Mybatis【5】-- Mybatis多种增删改查那些你会了么?
2021-05-08
Mybatis【7】-- Mybatis如何知道增删改是否成功执行?
2021-05-08
计算输入的一句英文语句中单词数
2021-05-08
docker复制文件到宿主机
2021-05-08
lvs+keepalive构建高可用集群
2021-05-08
Mysql高可用架构(主从同步)
2021-05-08
mysql主从延迟高的原因
2021-05-08
ATS缓存数据结构
2021-05-08
glob模块
2021-05-08
6 个 Linux 运维典型问题
2021-05-08
oracle无法启动asm实例记录
2021-05-08
取消vim打开文件全是黄色方法
2021-05-08
一个系统部署多个tomcat实例
2021-05-08
HP服务器设置iLO
2021-05-08
从头实现一个WPF条形图
2021-05-08
.NET CORE(C#) WPF 方便的实现用户控件切换(祝大家新年快乐)
2021-05-08
C# WPF开源控件库:MahApps.Metro
2021-05-08