反转每对括号间的子串java_已知入栈序列求出栈序列

反转每对括号间的子串java_已知入栈序列求出栈序列给出一个字符串 s(仅含有小写英文字母和括号)。请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。注意,您的结果中 不应 包含任何括号。示例 1:输入:s = “(abcd)”输出:“dcba”示例 2:输入:s = “(u(love)i)”输出:“iloveu”示例 3:输入:s = “(ed(et(oc))el)”输出:“leetcode”示例 4:输入:s = “a(bcdefghijkl(mno)p)q”输出:“apmnolkjihgfedcb

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

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

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

示例 1:

输入:s = “(abcd)”
输出:“dcba”
示例 2:

输入:s = “(u(love)i)”
输出:“iloveu”
示例 3:

输入:s = “(ed(et(oc))el)”
输出:“leetcode”
示例 4:

输入:s = “a(bcdefghijkl(mno)p)q”
输出:“apmnolkjihgfedcbq”

提示:

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

class Solution { 
   
public:
    stack<char>s1;
    queue<char>s2;
    bool isalpha(char a){ 
   
        return a >= 'a' && a <= 'z';
    }
    string reverseParentheses(string s) { 
   
        for(auto &a : s){ 
   
            if(isalpha(a) || a == '('){ 
   
                s1.push(a);
            }
            else{ 
   
                while(s1.top() != '('){ 
   
                    s2.push(s1.top());
                    s1.pop();
                }
                s1.pop();
                while(s2.size()){ 
   
                    s1.push(s2.front());
                    s2.pop();
                }
            }
        }
        string t = "";
        while(s1.size()){ 
   
            t.append(1,s1.top());
            s1.pop();
        }
        reverse(t.begin(),t.end());
        return t;
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/168546.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • intelj 2021 激活码(注册激活)[通俗易懂]

    (intelj 2021 激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.htmlMLZPB5EL5Q-eyJsaWN…

  • 信息学奥赛一本通(C++版) 网站补充题目

    信息学奥赛一本通(C++版) 网站补充题目总目录详见:https://blog.csdn.net/mrcrack/article/details/86501716信息学奥赛一本通(C++版)网站补充题目http://ybt.ssoier.cn:8088//1414【2017NOIP普及组】成绩//样例通过,提交AC2017-12-3121:45#include&lt;stdio.h&gt;intmain(){…

    2022年10月27日
  • java+SQL做学生信息管理系统(增删改查)学生新作「建议收藏」

    java+SQL做学生信息管理系统(增删改查)学生新作「建议收藏」java+SQL做学生信息管理系统(增删改查)过程中需要用到的所有工具数据库以及数据库管理器等等密码:q80t大学学习java后做的第一个小项目忍不住分享一下,也是我自己的面向对象编程的实践作业啦,有点水,不是很优。废话不多数,下面进入正题界面的编写是非常简单的,直接贴代码了,首先看添加功能Add.javaimportjavax.swing.*;importjava.awt.*…

  • 三菱modbusrtu通讯协议报文_modbus通讯协议详解

    三菱modbusrtu通讯协议报文_modbus通讯协议详解点击箭头处“工业之家”,选择“关注公众号”!modbus通讯协议详解Modbus协议可以说是工业自动化领域应用最为广泛的通讯协议,因为它的开放性、可扩充性和标准化使它成为一个通用工业标准。有了它,不同厂商的产品可以简单可靠的接入网络,实现系统的集中监控,分散控制功能。目前Modbus规约主要使用的是ASCII,RTU,TCP等,并没有规定物理层。目前Modbus常用的接口形式主要有R…

  • 手机java程序_2020年最流行的Java开发技术

    手机java程序_2020年最流行的Java开发技术●写在前面的话●Java几乎无处不在,无论在智能手机、台式机、游戏设备还是科学超级计算机上,处处都有Java的影子。全世界有数百万的Java程序员在开发基于Java的产品。然而,如此激烈的竞争,意味着Java开发人员必须时刻保持领先地位。为此,他们必须随时了解和洞悉Java生态系统中的最新动态。Java程序员需要不断进步。在本文中,我们将讨论2020年Java开发人员需要掌握的Java最…

  • java 除法取商_java除法怎样取小数部分「建议收藏」

    java 除法取商_java除法怎样取小数部分「建议收藏」2016-09-0100:30最佳答案C++的优先级优先级操作符结合性1::左2.->[]()左3++–~!-+&*()sizeofnewdeletecastname_cast单目操作符右4.*->*左5*/%左6+-左7<<>>左8<<=>>=…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号