java - 问题要求为匹配的括号返回 true,为不匹配的括号返回 false
问题描述
如果括号匹配,我需要返回 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;
}
我收到很多语法错误。
解决方案
您的解决方案计算右括号和左括号的数量。它将为“}{”返回 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;
推荐阅读
- java - 带有 RecyclerView 和 CardView 错误的片段:IllegalArgumentException:找不到片段 id 的视图
- mysql - 具有 1 组选择不同的 Mysql 查询
- sql - 根据其他两个表更新列
- mongodb - 如何从具有多个唯一字段的猫鼬驱动程序中识别或获取唯一字段名称
- pointers - 如何创建一个可以在单个单词大小内保存整数或指针的 Rust 类型?
- android - 如何在 adobe air 中显示计费权限?
- python - 了解 mfcc 的输出
- javascript - 如何使用 Angular 模板将 Id 反对的对象从服务器加载到我的表单中
- java - Java 10 中的非法反射访问操作警告
- c# - 为什么每个应用程序运行 5 秒钟没有响应,并且停止按钮无法单击?