class Solution {
public:
int scoreOfParentheses(string S) {
int cnt = 0;
int res = 0;
// 记录上一个字符
char last = ' ';
for (auto &ch : S) {
// 深度加大
if (ch == '(') {
cnt++;
}
else {
// 深度变小
cnt--;
// 上一个是'('表名这一对是(),可以加分
if (last == '(') {
res += 1 << cnt;
}
}
// 记录字符
last = ch;
}
return res;
}
};