如果方括号匹配,我需要返回true,反之亦然。我很新,需要帮助。
例如。
{}是
{{}错误
这是我的代码:
String left = "}";
String right = "{";
int LCount = 0;
int RCount = 0;
for(int i = 0; i < brackets.length(); i++)
{
if(brackets.charAt(i) == right)
{
RCount++;
}
else
{
if(left)
{
LCount++;
}
}
}
if(LCount == RCount)
{
return true;
}
else
{
return false;
}
我遇到很多语法错误。
答案 0 :(得分:1)
您的解决方案计算右括号和左括号的数量。对于“} {”,它将返回true。理想情况下,您可以使用以下单个计数器来实现此行为。
int count=0;
for(int i = 0; i < brackets.length(); i++)
{
if(brackets.charAt(i) == '{')
{
count++;
}else {
count --;
}
//number of left bracket is greater than right
if(count<0) return false;
}
//check all opening bracket have a corresponding closing bracket
return count==0;
答案 1 :(得分:0)
将char数据类型用于左右
*String left = "}"; ==> char left = '}';
*String right = "{"; ==> char right = '{';
更改第二条if语句的条件
*if(left) ==> if(brackets.charAt(i) == left)