(),[],{}配对的问题,使用stack的经典案例,不多说了。
强烈吐槽java泛型就是一坨屎。我又想换C#了,单就语言来说C#明显比java友好多了,后发优势吧。前浪都死在沙滩上了。最近的趋势是函数式编程语言。JS,D语言都有浓重的函数式味道
class Solution {
public int solution(String S) {
// write your code in Java SE 8
char[] stack = new char[S.length()+1];
int top = 0;
for(int i=0; i<S.length(); i++){
char c = S.charAt(i);
switch(c){
case '(':
case '[':
case '{':
stack[++top] = c;
break;
case ')':
if(top==0 || stack[top--] != '('){
return 0;
}
break;
case ']':
if(top==0 || stack[top--] != '['){
return 0;
}
break;
case '}':
if(top==0 || stack[top--] != '{'){
return 0;
}
break;
default:
break;
}
}
if(top==0) return 1;
else return 0;
}
}