标签:
一个字符串只能包含 ‘(‘
, ‘)‘
, ‘{‘
, ‘}‘
, ‘[‘
和 ‘]‘,判断字符串是否是闭合有效字符串。
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.
用字符串数组来模拟栈
1 public class Solution { 2 public boolean isValid( String s ){ 3 int len = s.length(); 4 if( len % 2 != 0 ) 5 return false; 6 char[] left = new char[len]; 7 int count = -1; 8 for( int i=0; i<len; i++ ){ 9 char curr = s.charAt(i); 10 if( curr==‘(‘ || curr==‘{‘ || curr==‘[‘ ) 11 left[++count] = s.charAt(i); 12 else{ 13 if( count>=0 && ( left[count] == curr-2 || left[count] == curr-1 ) ) 14 count--; 15 else return false; 16 } 17 } 18 if( count>=0 ) 19 return false; 20 return true; 21 } 22 }
标签:
原文地址:http://www.cnblogs.com/hf-cherish/p/4668785.html