括号的分数

给定一个平衡括号字符串 S,按下述规则计算该字符串的分数:
() 得 1 分。
AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。
(A) 得 2 * A 分,其中 A 是平衡括号字符串。

  • 输入: “()”
    输出: 1

  • 输入: “(())”
    输出: 2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var scoreOfParentheses = function(s) {
var stack = []
for (var i = 0; i < S.length; i++) {
if (S[i] === '(') stack.push('(')
if (S[i] === ')') {
if (stack[stack.length - 1] === '(') {
stack.pop()
stack.push(1)
} else {
var a = stack.pop()
var temp = 0
while(a !== '(') {
temp += a
a = stack.pop()
}
stack.push(2 * temp)
}
}
}
var sum = 0
stack.forEach(item => sum += item)
return sum
};