Leetcode20. Valid Parentheses

来源:互联网 发布:java加密文件怎么解密 编辑:程序博客网 时间:2024/05/22 14:59

20. Valid Parentheses

1、原题

Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string

is valid.

The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are

not.

Subscribe to see which companies asked this question.


2、解析与方法分析

这道题十分的简单,题意是给你一个字符串,判断其是不是有效的(就是最近的两个符号是否对应)。这道题就

简单的一个使用Stack。就不仔细分析了。


3、代码实现

public class Solution {     private boolean isTrue(char a, char b) { if ((a == '[' && b == ']') || (b == '[' && a == ']')) { return true; } else if ((a == '(' && b == ')') || (b == '(' && a == ')')) { return true; } else if ((a == '{' && b == '}') || (b == '{' && a == '}')) { return true; } else { return false; } } public boolean isValid(String s) {        char[] str = s.toCharArray();                Stack<Character> stack = new Stack<Character>();                for (int i = 0; i < str.length; i++) {        if (stack.empty()) {        stack.push(str[i]);        } else {        if (isTrue(stack.peek(), str[i])) {        stack.pop();        } else {        stack.push(str[i]);        }        }        }                if (stack.empty()) {        return true;        } else {        return false;        } }}


0 0
原创粉丝点击