我正在尝试使用递归解决括号分数的 leet 代码问题。
https://leetcode.com/problems/score-of-parentheses/
我想明确地使用递归。对于这种预期答案为 3 而我返回 4 的情况,它会失败。
(())()如何使用递归解决这个问题?
public int scoreOfParentheses(String S) {
return paran(S, 0);
}
int paran(String s, int c){
// base case exit
if(c >= s.length())
return 0;
if(s.charAt(c) == '(' && s.charAt(c + 1) == ')'){
return 1 + paran(s, c + 2);
}
else if(s.charAt(c) == '('){
return 2 * paran(s, c + 1);
}
return paran(s , c + 1);
}