一、给定一个只有括号'(',')','{','}','[',']'字符串,判断字符串是否有效。
有效字符串需要满足:
1、左括号必须用相同的类型的右括号闭合。
2、左括号必须以正确的顺序闭合。
注意空字符串可被认为有效字符串。
实例1:
输入:"()"
输出:true
实例2:
输入:
"()[]{}"
输出:true
二、 代码实现:
import java.util.Stack;
public class Solution {
public boolean isValid(String s) {
if (s.length() == 0) {
return true;
}
Stack<Character> stack = new Stack<>();
for (char ch : s.toCharArray()) {
if (ch == '(' || ch == '{' || ch == '[') {
stack.push(ch);
} else {
if (stack.isEmpty()) {
return false;
} else {
char temp = stack.pop();
if (ch == ')') {
if (temp != '(') {
return false;
}
}else if (ch == '}') {
if (temp != '{') {
return false;
}
} else if (ch == ']') {
if (temp != '[') {
return false;
}
}
}
}
}
return stack.isEmpty() ? true : false;
}
}
Q.E.D.