LeetCode394:字符串解码
2021/12/26 23:37:22
本文主要是介绍LeetCode394:字符串解码,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题解:
class Solution { public: string decodeString(string s) { string res = ""; stack<string> strs; stack<int> nums; int num = 0; int n = s.size(); for (int i = 0; i < n; i++) { if (s[i] >= '0' && s[i] <= '9') { num = num * 10 + s[i] - '0'; } else if ((s[i] >= 'a' && s[i] <= 'z') || (s[i] >= 'A' && s[i] <= 'Z')) { res = res + s[i]; } else if (s[i] == '[') { // 遇见[,则将前面的str加入strs中。并将数字加入nums里面 nums.push(num); num = 0; strs.push(res); res = ""; } else { // 遇见],则开始累加str。此时的str为从[开始,到]的字符串 int times = nums.top(); nums.pop(); for (int j = 0; j < times; j++) { strs.top() += res; } res = strs.top(); // 更新res strs.pop(); } } return res; } };
这篇关于LeetCode394:字符串解码的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-01UniApp 中组件的生命周期是多少-icode9专业技术文章分享
- 2024-11-01如何使用Svg Sprite Icon简化网页图标管理
- 2024-10-31Excel数据导出课程:新手从入门到精通的实用教程
- 2024-10-31Excel数据导入课程:新手入门指南
- 2024-10-31RBAC的权限课程:新手入门教程
- 2024-10-31Svg Sprite Icon课程:新手入门必备指南
- 2024-10-31怎么配置 L2TP 允许多用户连接-icode9专业技术文章分享
- 2024-10-31怎么在FreeBSD上 安装 OpenResty-icode9专业技术文章分享
- 2024-10-31运行 modprobe l2tp_ppp 时收到“module not found”消息提醒是什么-icode9专业技术文章分享
- 2024-10-31FreeBSD的下载命令有哪些-icode9专业技术文章分享