1190. 反转每对括号间的子串

Posted lancelee98

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1190. 反转每对括号间的子串相关的知识,希望对你有一定的参考价值。

给出一个字符串 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 中只有小写英文字母和括号
我们确保所有括号都是成对出现的

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-substrings-between-each-pair-of-parentheses
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

 

/* 
a(bcdefghijkl(mno)p)q

a [‘a‘]
( [‘a‘, ‘‘]
b [‘a‘, ‘b‘]
c [‘a‘, ‘bc‘]
d [‘a‘, ‘bcd‘]
e [‘a‘, ‘bcde‘]
f [‘a‘, ‘bcdef‘]
g [‘a‘, ‘bcdefg‘]
h [‘a‘, ‘bcdefgh‘]
i [‘a‘, ‘bcdefghi‘]
j [‘a‘, ‘bcdefghij‘]
k [‘a‘, ‘bcdefghijk‘]
l [‘a‘, ‘bcdefghijkl‘]
( [‘a‘, ‘bcdefghijkl‘, ‘‘]
m [‘a‘, ‘bcdefghijkl‘, ‘m‘]
n [‘a‘, ‘bcdefghijkl‘, ‘mn‘]
o [‘a‘, ‘bcdefghijkl‘, ‘mno‘]
) [‘a‘, ‘bcdefghijklonm‘]
p [‘a‘, ‘bcdefghijklonmp‘]
) [‘apmnolkjihgfedcb‘]
q [‘apmnolkjihgfedcbq‘]

作者:tuotuoli
链接:https://leetcode-cn.com/problems/reverse-substrings-between-each-pair-of-parentheses/solution/1190-fan-zhuan-mei-dui-gua-hao-jian-de-zi-chuan-ji/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。*/

//思路
//temp为当前输入的连在一起的字符串
//若是字符 则放到temp后
//若遇到 左括号 将temp入栈 temp = ""
//若遇到 右括号 令temp = top + reverse(temp)
class Solution {
public:
    string reverseParentheses(string s) {
        stack<string> my_stack;
        string temp="";
        for (char ch : s)
        {
            if (ch == ()
            {
                my_stack.push(temp);
                temp = "";
            }
            else if (ch == ))
            {
                reverse(temp.begin(), temp.end());
                temp = my_stack.top() + temp;
                my_stack.pop();
            }
            else
                temp += ch;
        }
        return temp;
    }
};

 

以上是关于1190. 反转每对括号间的子串的主要内容,如果未能解决你的问题,请参考以下文章

1190. 反转每对括号间的子串

leetcode中等1190反转每对括号间的子串

力扣leetcode1190. 反转每对括号间的子串

LeetCode 1190 反转每对括号间的子串[栈]

2021/5/26 刷题笔记反转每对括号间的子串

力扣练习——12 反转每对括号间的子串