工作之後,果然和學校差距太多了。好久都沒有刷題了,爲了能不能繼續工作的原因也是操碎了心
現在情況基本穩定了,可以繼續工作,也可以回去上課。算是最滿意的結果了吧。
距離藍橋杯比賽還有20來天,每天下班的時候刷刷題吧,希望可以有所斬獲。
1、首先 "" 空字符串是返回true的
2、第一個符號必須是 ( { [ 其中的一個,這個稍微想一下就好了。
3、當你循環結束了,一定要判斷你的棧是否爲空。不爲空就是false
4、思路就是找到一對就去除一對
class Solution {
public boolean isValid(String s) {
if(s == null || s.length() % 2 != 0)
return false;
char[] array = s.toCharArray();
Stack<Character> stack = new Stack<>();
for(int i = 0;i < s.length(); i++) {
if(array[i] == '(' || array[i] == '{' || array[i] == '[')
stack.push(array[i]);
else {
if(stack.isEmpty())
return false;
if(array[i] == ')') {
if(stack.pop() != '(')
return false;
} else if(array[i] == '}') {
if(stack.pop() != '{')
return false;
} else if(array[i] == ']' ) {
if(stack.pop() != '[')
return false;
}
}
}
if(stack.isEmpty())
return true;
return false;
}
}