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. 反转每对括号间的子串的主要内容,如果未能解决你的问题,请参考以下文章