【问题】给出一个字符串 s(仅含有小写英文字母和括号)。

请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。

注意,您的结果中 不应 包含任何括号。

示例 :
输入:s = "(abcd)"
输出:"dcba"
示例 :
输入:s = "(u(love)i)"
输出:"iloveu"
示例 :
输入:s = "(ed(et(oc))el)"
输出:"leetcode"
示例 :
输入:s = "a(bcdefghijkl(mno)p)q"
输出:"apmnolkjihgfedcbq"

提示:

0 <= s.length <= 2000

s 中只有小写英文字母和括号
我们确保所有括号都是成对出现的

【题解】

class Solution {
public:
string reverseParentheses(string s) {
int len = s.length();
stack<int> sk;
for(int i=;i<len;++i){
char c = s[i];
if(c == '(') sk.push(i);
else if(c == ')'){
auto it = sk.top();
sk.pop();
reverse(s.begin()+it+,s.begin()+i);
}
}
auto it = s.begin(),e = s.end();
while(it!=e){
if(*it=='(' || *it==')') it = s.erase(it);
else ++it;
}
return s;
}
};

最新文章

  1. android获取位置location为null的问题
  2. 【转】ubuntu 配置 java jdk1.8 环境,增加多版本 jdk 和切换方法
  3. sprint2总结
  4. How to create a batch of VMs with PowerShell
  5. ASP.Net MVC开发基础学习笔记(3):Razor视图引擎、控制器与路由机制学习
  6. android: PendingIntent的使用
  7. parent relation column can&#39;t be updated LESSON_EXTENDED_ATTRIBUTE-&gt;LESSON_ID
  8. 一个效果很华丽的仿桌面APP,却胜似Launcher
  9. Spider Studio 数据挖掘集成开发环境
  10. DateTime &amp; UTC 相互转化
  11. Mac iTerm2使用rz、sz从远程上传下载文件
  12. Exceptionless邮箱设置
  13. Photoshop给草坡上的人物加上大气的霞光
  14. iptables禁止某个mac地址上网
  15. Jedis(java操作redis数据库技术)
  16. Cellular Traffic Offloading
  17. Asp.Net Core 快速邮件队列设计与实现
  18. ElasticSearch 2 (26) - 语言处理系列之打字或拼写错误
  19. Android之ASD组件(一)
  20. kettle中源和目标表结构不一致的情况处理

热门文章

  1. Python 基础之函数初识与函数参数
  2. 人物 - Larry Elison
  3. dequeueReusableCellWithIdentifier 与 dequeueReusableCellWithIdentifier:forIndexPath 区别
  4. [Linux] day06——文档管理
  5. redis之Set(有序)类型常用方法总结
  6. python面向对象之练习题1
  7. 网站seo优化教你如何引蜘蛛爬行网站
  8. 初学JQuery
  9. 2_04_MSSQL课程_查询_类型转换、表联合、日期函数、字符串函数
  10. 报警视图 报警窗口 报警指示器 的组态 PLC变量 事故信息 MW16 报警确认变量 MW18 转速变量 MW20 温度变量 MW22 用 M17.0 来模拟事故信息的最低位。用PLCSIM 给定温度为800 度 报警视图与报警窗口显示故障