Re: [闲聊] 每日leetcode

楼主: DJYOSHITAKA (Evans)   2024-04-08 21:38:02
678. Valid Parenthesis String
补昨天的
用两个stack 一个for左括 一个for星星
遇到右括优先pop左括 再来pop星星
过了第一段后确保没有右括号
再来处理多的左括号
用了一堆if丑丑的
对不起
bool checkValidString(string s) {
stack<int> par;
stack<int> star;
for(int i=0; i<s.size(); i++)
{
if(s[i] == '(')
{
par.push(i);
}
else if(s[i] == ')')
{
if(!par.empty())
{
par.pop();
}
else if(star.empty())
{
return false;
}
else
{
star.pop();
}
}
else
{
star.push(i);
}
}
while(!par.empty())
{
if(star.empty())
{
return false;
}
else if(par.top() > star.top())
{
return false;
}
else
{
star.pop();
par.pop();
}
}
return true;
}
作者: sustainer123 (caster)   2023-04-08 21:38:00
大师
作者: RinNoKareshi (立石凛的男友)   2024-04-08 21:41:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com