LeetCode题库 20. 有效的括号(简单)
参考大佬解法,仿写代码如下:
编程语言JAVA,使用堆栈;
class Solution {
public boolean isValid(String s) {
if(s.length() % 2 != 0) {
return false;
} else {
Stack<Character> stack = new Stack<>(); // 堆栈建立
for(int i = 0; i < s.length(); ++i) {
char c = s.charAt(i); // 如此可减少访问charAt()次数
if(c == '(' || c == '[' || c == '{') {
stack.push(c);
} else {
switch (c) {
case ')':
if(!stack.isEmpty() && stack.peek() == '(')
stack.pop();
else
return false;
break;
case ']':
if(!stack.isEmpty() && stack.peek() == '[')
stack.pop();
else
return false;
break;
case '}':
if(!stack.isEmpty() && stack.peek() == '{')
stack.pop();
else
return false;
break;
}
}
}
return stack.isEmpty();
}
}
}
总结
熟悉了对字符串的处理以及堆栈的基本使用方法,学到了一些减少函数调用的处理方法,复习了JAVA基本语句的使用。
解题过程中思维清晰度有待提高。