[string]Valid Parentheses
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.
class Solution { public: bool isValid(string s) { stack<char> stk; int size = s.size(); for(int i=0;i<size;i++){ if(s[i]=='('||s[i]=='['||s[i]=='{'){ stk.push(s[i]); }else{ if(stk.empty()){ return false; } char topCh = stk.top(); if((s[i]==']' && topCh=='[' )|| (s[i]==')' && topCh=='(' )|| (s[i]=='}' && topCh=='{' ) ){ stk.pop(); }else{ return false; } } } return stk.empty()? true:false; } };
写者:zengzy
出处: http://www.cnblogs.com/zengzy
标题有【转】字样的文章从别的地方转过来的,否则为个人学习笔记
 
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号