LeetCode-笔记-394. 字符串解码
LeetCode-笔记-394. 字符串解码
394. 字符串解码
编码规则为: k[encoded_string]
,表示其中方括号内部的 encoded_string 正好重复 k 次。注意 k 保证为正整数。
你可以认为输入字符串总是有效的;输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。
此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k ,例如不会出现像 3a
或 2[4]
的输入。
输入:s = "3[a]2[bc]"
输出:"aaabcbc"
class Solution {public:string decode(int &i,string _s){string ss;int L=_s.size();int x=0;for(;i<L;++i){if(isdigit(_s[i])) {x=_s[i]-'0';i++;while(isdigit(_s[i])){int y=_s[i]-'0';x=x*10+y;//cout<<x<<endl;i++;}i++;string s_=decode(i,_s);//cout<<s_<<endl;for(int j=0;j<x;++j){//cout<<ss<<endl;ss+=s_;//cout<<ss<<endl;}}else if(_s[i]==']'){//cout<<ss<<endl;return ss;}else{ss.push_back(_s[i]);}}return ss;}string decodeString(string s) {if(s.find('[')==-1) return s;//递归尝试string ss;int L=s.size();int x=0;for(int i=0;i<L;++i){if(isdigit(s[i])) {x=s[i]-'0';i++;while(isdigit(s[i])){int y=s[i]-'0';x=x*10+y;//cout<<x<<endl;i++;}i++;string s_=decode(i,s);for(int j=0;j<x;++j){ss+=s_;}}else if(s[i]==']'){return ss;}else{ss.push_back(s[i]);}}return ss;}
};
LeetCode-笔记-394. 字符串解码相关推荐
- leetcode系列-394. 字符串解码
题目描述:给定一个经过编码的字符串,返回它解码后的字符串.编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次. 注意 k 保证为正整 ...
- 【LeetCode】【HOT】394. 字符串解码(栈)
[LeetCode][HOT]394. 字符串解码 文章目录 [LeetCode][HOT]394. 字符串解码 package hot;import java.util.LinkedList;pub ...
- 【LeetCode笔记】394. 字符串解码(Java、递归、栈)
文章目录 题目描述 思路 & 代码 更新版 题目描述 开心!!独立思考字符串题,还AC了,成就感满满 XD 难点应该是在于嵌套括号,那么这里实际上还要考虑到一个类似于括号匹配的事情 谈到括号, ...
- LeetCode 394. 字符串解码(栈)
1. 题目 给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string],表示其中方括号内部的 encoded_string 正好重复 k 次.注意 k 保证为正 ...
- leetcode 394.字符串解码 dfs
原题链接 给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string], 表示其中方括号内部的 encoded_string 正好重复 k 次.注意 k 保证为正 ...
- leetcode 394. Decode String | 394. 字符串解码(用栈做表达式转换)
题目 https://leetcode.com/problems/decode-string/ 题解 思路来源于中缀表达式,具体过程见下图草稿. 逻辑上不难,这题的槽点在 StringBuilder ...
- ·394.字符串解码
题目描述 注意 k 保证为正整数.你可以认为输入字符串总是有效的:输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的. 此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数 k , ...
- 394. 字符串解码
方法 算法思想:辅助栈, 时间复杂度: 空间复杂度: 边界条件: 补充知识: class Solution { public String decodeString(String s) { Strin ...
- 【每日一题】字符串解码
文章目录 题目描述 题解 递归 利用栈 题目描述 394. 字符串解码 给定一个经过编码的字符串,返回它解码后的字符串. 编码规则为: k[encoded_string],表示其中方括号内部的 enc ...
最新文章
- [学习笔记]最小圆覆盖
- VS2008系统开发背景图片的添加及注意事项
- linux内核编译如何选择cpu类型,Ubuntu内核编译和CPU Hot-Plug特性配置全过程及遇到问题记录...
- MFC中CString类字符串与长整型、浮点型、字符数组char数据之间的相互转换
- cmake linux 交叉编译,[CMake]CMake设置arm-linux-gcc交叉编译器
- Oracle 判断CLOB字段是否为null
- 2020-11-05 转载 国内配置Electron开发环境的正确方式
- linux的ps命令
- solr html显示,在SOLR中,如何执行索引. html 文件_solr_开发99编程知识库
- bearer token头_接口认证方式:Bearer Token
- 第 7 章 Neutron - 078 - 实践 Neutron 前的两个准备工作
- qt的qmap根据key进行归类,汇总
- 双目视觉摄像机的参数标定参考坐标系介绍
- win7 IE中使用svg时利用symbol的方式出现卡死现象
- 智能手机与pc计算机的区别,手机cpu和电脑cpu有什么区别
- Oracle 12C Sharding分片数据库
- “生死看淡”的雷军要造车,这对中国的汽车产业意味着什么?
- hostent实例详解
- 如何将电脑文件自动备份到u盘?
- The 19th Zhejiang Provincial Collegiate Programming Contest
热门文章
- Galaxy 生信平台(四):邮件与管理员配置
- Nature子刊 | 翟冰等造血干细胞移植中的肠道真菌菌群动态变化与临床结果分析(招聘博后、助研)...
- MPB:中科院城环所杨军组-​​​基于DNA宏条形码的水体浮游细菌群落测序建库方法...
- 上传数据,直接分析,这才是真正的生物云
- Cell:肠道菌群促进帕金森发生ParkinsonDisease
- TM:宿主-细菌界面的MicroRNA:宿主防御或细菌攻击
- 扩增子统计绘图7三元图
- R语言构建xgboost模型:基于稀疏数据(dgCMatrix which is a sparse matrix)、稠密数据(dense matrix)、xgb.DMatrix数据聚合
- pandas移除dataframe字符串数据列中的后N个字符(remove the last n characters from values from column of dataframe)
- R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(水平带状图、垂直带状图、抖动程度配置)实战