实现栈_leetcode20_括号匹配

2019-04-15  本文已影响0人  苏州城外无故人
package com.company.stack;
import com.sun.tools.javac.util.Assert;

import java.util.Stack;

/**
 * @program: Array
 * @description: 栈的应用_括号匹配
 * @author: Gu
 * @create: 2019-04-14 20:29
 **/

public class LeetCode20 {
    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < s.length(); i++) {
            char c = s.charAt(i);
            if (c == '{' || c == '[' || c == '(') {
                stack.push(c);
                continue;
            }
            if (stack.isEmpty()) {
                return false;
            }
            if ((c == '}' && stack.peek() == '{')
                    || (c == ']' && stack.peek() == '[')
                    || (c == ')' && stack.peek() == '(')) {
                stack.pop();
            } else {
                return false;
            }
            }
            if (stack.isEmpty()) {
                return true;
            }
            return false;
        }

    public static void main(String[] args) {
        LeetCode20 leetCode20 = new LeetCode20();
        System.out.println(leetCode20.isValid("(])"));
    }
}
上一篇 下一篇

猜你喜欢

热点阅读