Valid Parentheses

原创 2015年11月19日 11:08:29

题目描述

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.

题目解答

解题思路

典型的栈问题,遇到’(‘, ‘{‘, ‘[’ 入栈, 遇到’}’, ‘)’, ‘]’出栈。

代码实现

public class Solution {
    public boolean isValid(String s) {
        if(s == null || s.length() == 0 || s.length()%2 == 1)
            return false;
        int strLen = s.length();
        ArrayDeque<Character> stack = new ArrayDeque<>();
        int i = 0;
        while(i < strLen){
            switch(s.charAt(i)){
                case '(':
                    stack.push('(');
                    break;
                case '{':
                    stack.push('{');
                    break;
                case '[':
                    stack.push('[');
                    break;
                case ')':
                    //访问栈定元素
                    if(stack.size() == 0 || stack.pop() != '(')
                        return false;
                    break;
                case '}':
                    if(stack.size() == 0 || stack.pop() != '{')
                        return false;
                    break;
                case ']':
                    if(stack.size() == 0 || stack.pop() != '[')
                        return false;
                    break;
                default:
            }
            i++;
        }
        return stack.size() == 0;
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

[LeetCode]Valid Parentheses

题目要求如下: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determ...
  • zhouworld16
  • zhouworld16
  • 2013年12月28日 11:45
  • 8703

LeetCode Valid Parentheses (JavaScript)

Valid Parentheses Given a string containing just the characters '(', ')', '{', '}', '[' and ']'...
  • notail_woo
  • notail_woo
  • 2015年04月28日 09:23
  • 522

20. Valid Parentheses [easy] (Python)

题目链接https://leetcode.com/problems/valid-parentheses/题目原文 Given a string containing just the charac...
  • coder_orz
  • coder_orz
  • 2016年06月17日 10:18
  • 1670

【LeetCode】Longest Valid Parentheses 解题报告

【题目】 Given a string containing just the characters '(' and ')', find the length of the longes...
  • ljiabin
  • ljiabin
  • 2015年04月06日 19:05
  • 1789

Valid Parentheses python题解

Valid Parentheses python题解
  • xiaolewennofollow
  • xiaolewennofollow
  • 2015年04月20日 12:31
  • 993

Longest Valid Parentheses,二维动态规划、一维动态规划、stack

一、二维动态规划 int longestValidParentheses(string s) {         int len=s.length(),maxLen=0;         bool v...
  • angelewings
  • angelewings
  • 2014年12月10日 10:31
  • 718

LeetCode(20) Valid Parentheses

题目如下 Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the...
  • feliciafay
  • feliciafay
  • 2013年12月19日 06:04
  • 2884

LeetCode 20 Valid Parentheses (C,C++,Java,Python)

Problem: Given a string containing just the characters '(', ')', '{', '}', '[' and ']', deter...
  • runningtortoises
  • runningtortoises
  • 2015年05月10日 16:41
  • 2658

LeetCode --- 32. Longest Valid Parentheses

题目链接:Longest Valid Parentheses Given a string containing just the characters '(' and ')', find the ...
  • makuiyu
  • makuiyu
  • 2015年02月04日 23:16
  • 1540

[LeetCode] 020. Valid Parentheses (Easy) (C++/Java/Python)

[LeetCode] 020. Valid Parentheses (Easy) (C++/Java/Python)
  • hcbbt
  • hcbbt
  • 2015年03月04日 19:53
  • 2788
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Valid Parentheses
举报原因:
原因补充:

(最多只允许输入30个字)