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

LeetCode 20 Valid Parentheses

时间:2015-06-16 01:06:45      阅读:166      评论:0      收藏:0      [点我收藏+]

标签:

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 static boolean isValid(String s) {
         Stack<Character> gt=new Stack<Character>();  
       int i=0;
       
         
       while(i != s.length())  
       {  
           char c =s.charAt(i);  
           if (c != ‘)‘ && c != ‘}‘ && c != ‘]‘)  
           {  
               gt.push(c);  
           }  
           else  
           {  
               if (gt.size() == 0)  
                  return false;  
 
               char pre = gt.lastElement();  
               switch(c)  
               {  
               case ‘)‘:  
                   if (pre == ‘(‘)  
                     gt.pop();  
                   else   
                     return false;  
                   break;  
                       
               case ‘}‘:  
                   if (pre == ‘{‘)  
                     gt.pop();  
                   else   
                     return false;  
                   break;  
                     
               case ‘]‘:  
                   if (pre == ‘[‘)  
                     gt.pop();  
                   else   
                     return false;  
                   break;  
               }  
           }  
           ++i;  
       }  
       if (gt.size() == 0)  
          return true;  
       else return false;  
   }  

}
View Code

 

LeetCode 20 Valid Parentheses

标签:

原文地址:http://www.cnblogs.com/gonewithgt/p/4579556.html

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