题目:
思路:
将字符串压栈,如果是单独一个“(”,那么继续压,如果碰到了“)”,说明“(”已经输入完毕了,此时栈的大小就是左括号的数量,此时每输入一个右括号,就出一次栈,记录一次站内字符数,然后连乘,直到全部出栈。
代码:
package xiaozhao2018.jingdong;
import java.util.*;
public class Main1 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
while (sc.hasNextLine()) {
String str = sc.nextLine();
char[] s = str.toCharArray();
Stack<Character> stack = new Stack<>();
int num = 1;
for(int i = s.length - 1; i >= 0; i--) {
if(s[i] == ')'){
stack.push(s[i]);
} else {
num *= stack.size();
stack.pop();
}
}
System.out.println(num);
}
}
}