leetcode做题记录0020

leetcode 0020

说明

只是为了记录一下,不求多快,也不深究。

会简要描述思路,代码中不写注释。

如碰到不会做的用了别人代码会在博客中标出。

题目描述

在这里插入图片描述

结果

在这里插入图片描述

思路

代码

class Solution {
    public boolean isValid(String s) {
        if(s.length() == 0) {
			return true;
		}
		LinkedList<Character> stack = new LinkedList<Character>();
		stack.add(s.charAt(0));
		for(int i = 1;i<s.length();i++) {
			char now = s.charAt(i);
			if(stack.size() == 0) {
				stack.add(now);
				continue;
			}
			char top = stack.pollLast();
			switch(now) {
			case '(':
				stack.add(top);
				stack.add('(');
				break;
			case '[':
				stack.add(top);
				stack.add('[');
				break;
			case '{':
				stack.add(top);
				stack.add('{');
				break;
			case ')':
				if(top == '(') {
					break;
				}else {
					return false;
				}
			case ']':
				if(top == '[') {
					break;
				}else {
					return false;
				}
			case '}':
				if(top == '{') {
					break;
				}else {
					return false;
				}
			default:
				return false;
				
			}
		}
        if(stack.size() == 0) {
        	return true;
        }else {
        	return false;
        }
    }
}
发布了77 篇原创文章 · 获赞 1 · 访问量 2077

猜你喜欢

转载自blog.csdn.net/Paul_1i/article/details/104419640