package 栈相关.q20_有效的括号;
import java.util.Stack;
/**
* 利用栈 o(n)
*/
public class Solution {
public boolean isValid(String s) {
Stack<Character> stack = new Stack<>();
for (int i = 0; i < s.length(); i++) {
char t = s.charAt(i);
if (t == '(' || t == '[' || t == '{') {
stack.push(t);
} else {
if (stack.empty()) {
return false;
}
if (t == ')') {
if (stack.pop() != '(') {
return false;
}
} else if (t == ']') {
if (stack.pop() != '[') {
return false;
}
} else {
if (stack.pop() != '{') {
return false;
}
}
}
}
return stack.empty();
}
public static void main(String[] args) {
System.out.println(new Solution().isValid("()"));
}
}
q20_有效的括号
作品《LeetCode题目分类与面试问题整理 - q20_有效的括号》由 不喝星巴克 发布于 匠果,转载请注明出处及链接地址:
http://www.jiangguo.net/c/9r6/qqy.html