【2018校招筆試-京東=java開發】題目1括號匹配方案
阿新 • • 發佈:2019-01-29
題目:
思路:
將字串壓棧,如果是單獨一個“(”,那麼繼續壓,如果碰到了“)”,說明“(”已經輸入完畢了,此時棧的大小就是左括號的數量,此時每輸入一個右括號,就出一次棧,記錄一次站內字元數,然後連乘,直到全部出棧。
程式碼:
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);
}
}
}