Sunday, May 17, 2015

Valid Parentheses

来源:Leetcode

原帖:http://oj.leetcode.com/problems/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;  
     for (int i = 0; i < s.size(); ++i) {  
       if (s[i] == '(' || s[i] == '[' || s[i] == '{') {  
         stk.push(s[i]);  
       } else {  
         if (stk.empty() || abs(stk.top() - s[i]) > 2) { // match text?   
           return false;  
         }  
         stk.pop();  
       }  
     }    
     return stk.empty();  
   }  
 };  


No comments:

Post a Comment