【发布时间】:2023-04-09 11:40:02
【问题描述】:
我正在尝试使用递归解决括号分数的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);
}
【问题讨论】: