Advertisement
fueanta

Valid Parentheses

Jun 12th, 2017
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.53 KB | None | 0 0
  1. bool isValid(string s) {
  2.  
  3.         unordered_map<char, char> brackets = {
  4.         {'(', ')'},
  5.         {'{', '}'},
  6.         {'[', ']'} };
  7.  
  8.         stack<char> bracketStack;
  9.  
  10.         for (int i = 0; i < s.size(); ++i)
  11.         {
  12.             if (brackets.find(s[i]) != brackets.end())
  13.             {
  14.                 bracketStack.push(s[i]);
  15.             }
  16.             else if (bracketStack.empty())
  17.             {
  18.                 return false;
  19.             }
  20.             else
  21.             {
  22.                 char ch = bracketStack.top();
  23.                 bracketStack.pop();
  24.                 if (brackets[ch] != s[i])
  25.                 {
  26.                     return false;
  27.                 }
  28.             }
  29.         }
  30.         return (bracketStack.empty());
  31.     }
  32. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement