leetcode 0020
说明
只是为了记录一下,不求多快,也不深究。
会简要描述思路,代码中不写注释。
如碰到不会做的用了别人代码会在博客中标出。
题目描述
结果
思路
栈
代码
class Solution {
public boolean isValid(String s) {
if(s.length() == 0) {
return true;
}
LinkedList<Character> stack = new LinkedList<Character>();
stack.add(s.charAt(0));
for(int i = 1;i<s.length();i++) {
char now = s.charAt(i);
if(stack.size() == 0) {
stack.add(now);
continue;
}
char top = stack.pollLast();
switch(now) {
case '(':
stack.add(top);
stack.add('(');
break;
case '[':
stack.add(top);
stack.add('[');
break;
case '{':
stack.add(top);
stack.add('{');
break;
case ')':
if(top == '(') {
break;
}else {
return false;
}
case ']':
if(top == '[') {
break;
}else {
return false;
}
case '}':
if(top == '{') {
break;
}else {
return false;
}
default:
return false;
}
}
if(stack.size() == 0) {
return true;
}else {
return false;
}
}
}