标签:
题目:
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.
链接:http://leetcode.com/problems/valid-parentheses/
题解: 一道基本的使用stack的题目。 Time Complexity - O(n), Space Complexity - O(n)
public class Solution { public boolean isValid(String s) { if(s == null || s.length() == 0) return true; Stack<Character> stack = new Stack<Character>(); for(int i = 0; i < s.length(); i ++){ int left = s.charAt(i); if(left == ‘(‘ || left == ‘[‘ || left == ‘{‘) stack.push(s.charAt(i)); else { if(stack.isEmpty()) return false; char right = stack.pop(); if(left == ‘]‘ && right != ‘[‘) return false; else if(left == ‘}‘ && right != ‘{‘) return false; else if (left == ‘)‘ && right != ‘(‘) return false; } } if(!stack.isEmpty()) return false; return true; } }
标签:
原文地址:http://www.cnblogs.com/yrbbest/p/4434546.html