class Solution {
public int scoreOfParentheses(String S) {
int sum=0;
int n=0;
int len=S.length();
for(int i=0;i<len;i++){
if(S.charAt(i)=='('){
if(n==0)
n=1;
else
n=n<<1;//表示左括号出现一次需要乘以2(压栈)
}
else if(S.charAt(i)==')'){//右括号一旦出现 为了后面另外一坨的平衡子部分 就需要除以2(弹栈)
if(S.charAt(i-1)=='('){//()出现使得加法发生,该子部分可以计算出来
sum+=n;
}
n=n>>1;
}
}
return sum;
}
}
856. Score of Parentheses(括号的分数)
最新推荐文章于 2024-07-12 18:12:33 发布