码迷,mamicode.com
首页 > 其他好文 > 详细

Valid Parentheses

时间:2015-07-22 22:10:18      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:

1. Problem

一个字符串只能包含 ‘(‘‘)‘‘{‘‘}‘‘[‘ 和 ‘]‘,判断字符串是否是闭合有效字符串。

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.

2. Solution

用字符串数组来模拟栈

 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 }

 

Valid Parentheses

标签:

原文地址:http://www.cnblogs.com/hf-cherish/p/4668785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!