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

东莞市机电工程学校网站建设与管理企业网站建设

东莞市机电工程学校网站建设与管理,企业网站建设,云南工程建设信息网官网,做网站困难吗题目 394. 字符串解码 思路 创建两个栈,一个栈存储数字,另一个栈存储字符串。如果当前的字符为数位,解析出一个数字并进栈,如果当前的字符为字母或者左括号,直接进栈,如果当前的字符为右括号&#xff0c…

题目

394. 字符串解码

思路

创建两个栈,一个栈存储数字,另一个栈存储字符串。如果当前的字符为数位,解析出一个数字并进栈,如果当前的字符为字母或者左括号,直接进栈,如果当前的字符为右括号,开始出栈,一直到左括号出栈,出栈序列反转后拼接成一个字符串,此时取出栈顶的数字,根据这个次数和字符串构造出新的字符串,重复如上操作,最终将栈中的元素按照从栈底到栈顶的顺序拼接起来。

代码

class Solution {
public:string decodeString(string s){stack<int> nums; // 用于存储数字stack<string> st; // 用于存储字符串string tmp; // 临时字符串int num = 0; // 当前数字int n = s.size(); // 字符串长度for (int i = 0; i < n; i++) {if (isdigit(s[i])) {num = 10 * num + s[i] - '0'; // 解析数字} else if (isalpha(s[i])) {tmp.push_back(s[i]); // 解析字母} else if (s[i] == '[') {nums.push(num); // 数字入栈num = 0; // 重置数字st.push(tmp); // 字符串入栈tmp.clear(); // 清空临时字符串} else if (s[i] == ']') {int cnt = nums.top(); // 获取栈顶数字nums.pop(); // 数字出栈string str = tmp; // 临时字符串for (int j = 0; j < cnt; j++) {st.top() += str; // 重复字符串}tmp = st.top(); // 更新临时字符串st.pop(); // 字符串出栈}}return tmp; // 返回解码后的字符串}
};
http://www.dtcms.com/wzjs/414051.html

相关文章:

  • wordpress黑镜百度云盘网站优化排名公司哪家好
  • wordpress建站吧网站优化推广是什么
  • 快站wordpress推广普通话手抄报模板
  • 做电商网站运营衡阳网站建设公司
  • 科技公司网站建设自己怎么搭建网站
  • 企业邮箱地址格式关键词seo优化软件
  • 0基础 网站建设百度搜索排名推广
  • 门户网站举例百度平台app
  • 陕西省咸阳市建设银行网站百度官方电话
  • 重庆网站设计开发培训学校优化网站哪个好
  • 西安有那些做网站的公司seo搜索优化 指数
  • 做网站玩玩如何联系百度推广
  • 自己怎么做网站建设百度账号客服24小时人工电话
  • 欧美个人网站seo外链优化方法
  • 怎么做网站美工泉州百度推广咨询
  • 计算机专业就业前景搜索引擎优化方法包括
  • 合肥网站建设网站制作微博推广技巧
  • 全国电子网站建设网店代运营收费
  • 做网站要考虑什么问题关键词首页排名代做
  • 网站制作找私人多少钱免费个人网站空间
  • 给公司做兼职维护网站多少钱模板免费网站建设
  • 网站建设方案书原件seo整站优化多少钱
  • 哪些网做网站比较好太原seo外包公司
  • 设计签名seo编辑招聘
  • 网站建设管理ppt模板在线培训平台有哪些
  • 普通电脑如何做网站服务器吗网络公关公司收费
  • 做网站.cn好还是.com好郑州网络推广方案
  • 淘宝宝贝链接怎么做相关网站昆明新闻头条最新消息
  • 怎样做公司宣传网站it培训机构哪个好
  • 重庆李家沱网站建设新闻头条最新消息今天