标签:表达式 特点 顺序表 利用 hal content wrap stack tail
原题网址:https://www.lintcode.com/problem/valid-parentheses/description
给定一个字符串所表示的括号序列,包含以下字符: ‘(‘, ‘)‘
, ‘{‘
, ‘}‘
, ‘[‘
and ‘]‘
, 判定是否是有效的括号序列。
括号必须依照 "()"
顺序表示, "()[]{}"
是有效的括号,但 "([)]"
则是无效的括号。
class Solution {
public:
/**
* @param s: A string
* @return: whether the string is a valid parentheses
*/
bool isValidParentheses(string &s) {
// write your code here
int n=s.size();
if (n<=1||n%2==1)
{
return false;
}
stack<char> tmp;
int j=0;
while(j<n)
{
if (tmp.empty())
{
tmp.push(s[j]);
}
else
{
char temp=tmp.top();
if (rhalf(temp,s[j]))
{
tmp.pop();
}
else
{
tmp.push(s[j]);
}
}
j++;
}
if (tmp.empty())
{
return true;
}
return false;
}
bool rhalf(char c1,char c2)
{
if (c1==‘(‘&&c2==‘)‘)
{
return true;
}
if (c1==‘[‘&&c2==‘]‘)
{
return true;
}
if (c1==‘{‘&&c2==‘}‘)
{
return true;
}
return false;
}
};
标签:表达式 特点 顺序表 利用 hal content wrap stack tail
原文地址:https://www.cnblogs.com/Tang-tangt/p/9224388.html