leetcode 52: valid parentheses
Valid ParenthesesJan
 30 '12
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) {
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        stack<char> myStack;
        char c;
        
        for( int i=0; i<s.size(); i++) {
            if( s[i] == '(' || s[i] == '[' || s[i] == '{') {
                myStack.push( s[i] );
            } else if( myStack.empty() ) {
                return false;
            } else if( s[i] == ')') {
                c = myStack.top();
                if( c!= '(' ) return false;
                else myStack.pop();
            } else if( s[i] == ']') {
                c = myStack.top();
                if( c!= '[' ) return false;
                else myStack.pop();
            } else if( s[i] == '}') {
                c = myStack.top();
                if( c!= '{' ) return false;
                else myStack.pop();
            } else {
                return false;
            }  
        }
        
        return myStack.empty();
    }
};
 
 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号