您的位置:首页 > 其它

leetcode 52: valid parentheses

2013-01-25 05:00 513 查看
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();
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: