题目

给定一个字符串,字符串包含数字、大小写字母以及括号(包括大括号、中括号和小括号),括号可以嵌套,即括号里面可以出现数字和括号。
按照如下的规则对字符串进行展开,不需要考虑括号成对不匹配问题,用例保证括号匹配,同时用例保证每个数字后面都有括号,不用考虑数字后面没有括号的这种情况,即2a2(b)这种情况不用考虑。

  1. 数字表示括号里的字符串重复的次数,展开后的字符串不包括括号。
  2. 将字符串进行逆序展开

输出最终展开的字符串。

解答

这题和用栈模拟数学运算很像,以下就是我的解答。

#include<iostream>
#include<stack>
#include<cctype>
#include<string>
#include<vector>using namespace std;int main() {stack<char> st;string s = "ed10{abc2[ij2(ibuog)m]n}";for (int i = 0; i < s.size(); i++) {if (s[i] != ')' && s[i] != '}' && s[i] != ']') {st.push(s[i]);}else {string s_temp = "";while (st.top() != '(' && st.top() != '{' && st.top() != '[') {s_temp += st.top();st.pop();}st.pop();int count = 0;int place = 1;while (!st.empty() && isdigit(st.top())){count += place * (st.top() - 48);place *= 10;st.pop();}for (int i = 0; i < count; i++) {for (int i = s_temp.size() - 1; i >= 0; i--) {st.push(s_temp[i]);}}}}while (!st.empty()) {cout << st.top();st.pop();}cin.get();return 0;
}

华为2019年4月10日春招笔试题解相关推荐

  1. 为什么要推广环保酵素的三篇博文合集2019年7月10日 星期三

    文本由捷通华声的zhaqian乍倩老师诵読,全文如下.一下博文合集由穗城文化馆的炫予老师推荐品鉴.为什么要推广环保酵素?4个方面,让厨余垃圾零废弃,可可(沈亦可),环保酵素论坛自媒体号发布于2019年 ...

  2. 互联网日报 | 吉利汽车完成科创板上市辅导;华为开发者大会9月10日举行;贵州茅台整治“年份酒”乱象...

    今日看点 ✦ 华为开发者大会9月10日举行:将揭开鸿蒙OS和EMUI11神秘面纱 ✦ 吉利汽车已完成科创板上市辅导,冲击"科创板整车第一股" ✦ 贵州茅台整治"年份酒&q ...

  3. linux查看采集卡内核,MAGEWELL美乐威Pro Capture系列视频采集卡驱动1.3.0.4186版For Linux(2019年12月10日发布)...

    驱动说明 MAGEWELL美乐威Pro Capture系列视频采集卡驱动1.3.0.4186版For Linux(2019年12月10日发布) MAGEWELL Pro Capture系列视频采集卡最 ...

  4. 每日总结-2019年12月10日(如切如磋,如琢如磨)

    每日总结-2019年12月10日(如切如磋,如琢如磨) 今天也是我第一天打算这样去做.虽然另一个我告诉我不要这样写,但我还是想写下这段话.在研一开始的时候我就应该做这件事情,并坚持下来.不过现在的我总 ...

  5. pubg2019年7月服务器维护时间,绝地求生7月10日更新公告 绝地求生2019年7月10日更新内容...

    本文导航第1页: 正式服维护内容 正式服维护内容 绝地求生7月10日更新了什么?绝地求生正式服在7月10日停机维护,本次维护更新内容除了优化服务器外,还有发放生存补给每周任务未获得的BP和修复现版本游 ...

  6. pubg2019年7月服务器维护时间,绝地求生2019年7月10日官方更新公告及更新内容汇总...

    本文导航第1页: 正式服维护内容 正式服维护内容 绝地求生正式服在7月10日停机维护,本次维护更新内容除了优化服务器外,还有发放生存补给每周任务未获得的BP和修复现版本游戏中出现的BUG,下面小编为大 ...

  7. D2 日报 2019年5月10日

    ? 开源项目 ➡️ kkuchta/css-only-chat watch 44 star 3182 fork 101 完全基于 CSS 实现的异步聊天应用 github.com ➡️ qunarco ...

  8. 2019年9月8日秋季PAT甲级题解A1163(7-4)Dijkstra Sequence

    2019年9月8日秋季PAT甲级题解 A1163(7-4)Dijkstra Sequence (30 分) #include<iostream> #include<vector> ...

  9. 微软将于2019年12月10日终止Windows 10移动支持

    Windows 10 Mobile support is coming to an end in December. Microsoft stopped developing features for ...

  10. 2018深信服java笔试题_深信服2018春招笔试题解

    原文链接:点这儿. 深信服还是一如既往的"懒",2018秋招的5个编程题在本次春招出现了三道,然后添加了一道新的编程题,且选择题和填空题基本与秋招的雷同,看来之前没看深信服2018 ...

最新文章

  1. treeview递归绑定的两种方法
  2. Flume 1.7 源码分析(四)从Source写数据到Channel
  3. Dockerfile构建容器镜像 - 运维笔记
  4. iBATIS sql中的处理特殊符号的做法
  5. 在网上看到和篇关于sql server 2005的性能优化篇,觉得写得很好。
  6. 双y轴设置 颜色_项目实战:Qt多段Y轴折线图框架(双Y轴段折线、支持拽拖、浮动游标显示X值各段Y值、实时下位机数据)...
  7. 【可临摹UI设计干货】APP UI界面的版式设计理论!
  8. oracle 包含的对象,oracle – 我可以创建一个包含嵌套表作为属性的对象表吗?
  9. 重构第0天--重构的理解
  10. 车联网网络安全技术研究
  11. 数据结构面试经典问题汇总
  12. python课程总结-Python课程学习总结
  13. RC微分积分电路 RC滤波电路 RC脉冲分压器 RC耦合电路 good
  14. 如何使用Redis Streams
  15. 无感延迟智能降噪,一款无线蓝牙耳机体验分享,值得安利
  16. Ubuntu 16.04 和18.04 命令行配置802.1x无线网络连接方法(针对北邮校园网BUPT-mobile)
  17. PG与mysql的区别
  18. 洛谷P1605 迷宫(dfs) 题解
  19. Html5 学习笔记 【PC固定布局】 实战6 咨询页面
  20. 【C语言】数组(一维数组、二维数组)

热门文章

  1. C++-从cpp文件到exe文件的过程
  2. 1.按钮点击的四种方式
  3. (XWZ)的python学习笔记Ⅶ——正则表达式
  4. 服务器接千兆无线网卡,用户吓跑!千兆宽带就是坑爹货:真相崩溃
  5. 使用中国电信物联网开发者平台的步骤总结
  6. .NET面试宝典130道经典面试真题及答案
  7. 大数据面试题知识点分析(十一)之Flume面试真题及答案
  8. 固态硬盘计算机怎么自定义分区,固态硬盘分区,详细教您固态硬盘怎么分区
  9. word小技巧之表格插入行
  10. 1688API item_search_img - 拍立淘搜索淘宝商品