括号间子串2021526"/>
(leetcode)1190反转每对括号间子串2021526
文章目录
- 1190. 反转每对括号间的子串 javascript
1190. 反转每对括号间的子串 javascript
题目:
给出一个字符串 s(仅含有小写英文字母和括号)。
请你按照从括号内到外的顺序,逐层反转每对匹配括号中的字符串,并返回最终的结果。
注意,您的结果中 不应 包含任何括号。
示例
输入:s = "(abcd)"
输出:"dcba"输入:s = "(u(love)i)"
输出:"iloveu"输入:s = "(ed(et(oc))el)"
输出:"leetcode"输入:s = "a(bcdefghijkl(mno)p)q"
输出:"apmnolkjihgfedcbq"
思路
- 首先想到的就是利用 栈
- 先处理内层,处理完内层再依次处理外层
"(u(love)i)"过程:
u ['u']
( ['u','']
l ['u','l']
o ['u','lo']
v ['u','lov']
e ['u','love']
) ['uevol']
i ['uevoli']
) 'iloveu'
代码
var reverseParentheses = function(s) {let stack = ['']for(let i=0;i<s.length;i++){let ch = s[i]if(ch === '('){stack.push('')}else if(ch === ')'){let str = stack.pop()let tmp = str.split('').reverse().join('')stack[stack.length-1] += tmp}else{stack[stack.length-1] += ch}}return stack.pop()
};
学艺不精,还需努力💪
更多推荐
(leetcode)1190反转每对括号间子串2021526
发布评论