工作之后,果然和学校差距太多了。好久都没有刷题了,为了能不能继续工作的原因也是操碎了心

    现在情况基本稳定了,可以继续工作,也可以回去上课。算是最满意的结果了吧。

    距离蓝桥杯比赛还有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;
    }
}