LeetCode-020-有效的括号

阅读 41

2021-09-28

有效的括号

解法一:利用栈
import java.util.Stack;

public class Solution {
    public static boolean isValid(String s) {
        if (s == null || s.length() == 0) {
            return true;
        }
        Stack<Character> leftParentheses = new Stack<>();
        for (char parentheses : s.toCharArray()) {
            if (parentheses == '(' || parentheses == '{' || parentheses == '[') {
                leftParentheses.push(parentheses);
            } else if (parentheses == ')') {
                if (leftParentheses.size() > 0 && leftParentheses.peek() == '(') {
                    leftParentheses.pop();
                } else {
                    return false;
                }
            } else if (parentheses == ']') {
                if (leftParentheses.size() > 0 && leftParentheses.peek() == '[') {
                    leftParentheses.pop();
                } else {
                    return false;
                }
            } else if (parentheses == '}') {
                if (leftParentheses.size() > 0 && leftParentheses.peek() == '{') {
                    leftParentheses.pop();
                } else {
                    return false;
                }
            }
        }
        if (leftParentheses.size() != 0) {
            return false;
        }
        return true;
    }

    public static void main(String[] args) {
        System.out.println(isValid("()[]{}"));
    }
}

【每日寄语】每个睡醒后的早晨都是一件礼物,把每个开心后的微笑当成一个习惯,美好的一天从现在开始。

精彩评论(0)

0 0 举报