反转每对括号间的子串

判定字符是否唯一

  • 输入:s = “(abcd)”

  • 输出:”dcba”

  • 输入:s = “(u(love)i)”

  • 输出:”iloveu”
    解释:先反转子字符串 “love” ,然后反转整个字符串。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var reverseParentheses = function(s) {
s = s.split('')
let stack = []//把索引存储起来
for (let i = 0; i < s.length; i++) {
if (s[i] == '(') {
stack.push(i)
}
if (s[i] == ')') {
let pre = stack.pop()
myReverse(pre + 1, i - 1)
}

}
let ans = s.filter(item => /[a-z]/.test(item)).join('')

return ans
function myReverse(l, r) {
while (l < r) {
[s[l], s[r]] = [s[r], s[l]]
l++
r--
}

}
};