gpt4 book ai didi

java - 如何确定文本是否具有平衡分隔符?

转载 作者:行者123 更新时间:2023-12-01 06:56:07 24 4
gpt4 key购买 nike

我有这个问题

编写一个函数来确定文本是否具有平衡分隔符。有效分隔符对是 ()、[]、{} 和 <>。它们可能是嵌套的。此外,确定文本分隔符 ' 和 "正确匹配。

顺便说一句,我正在用java编码..

对于每个测试行,如果具有平衡分隔符,则输出为“1”,否则输出为“0”。

下面是一个例子,

4 --- 0

{123} --- 1

{qweqwe{sdad} --- 0

问题是,我如何用java代码编写来检查一对有效的分隔符是否匹配?抱歉,我对分隔符知之甚少。

下面是我的代码..

public static void main(String args[]) {
String a1 = "";
try {
Scanner readFile = new Scanner(new File("2.in.txt"));
while (readFile.hasNextLine()) {

a1 = readFile.nextLine();
System.out.println(a1);
if (a1.equals("18")) {
System.out.println("0");
} else {
System.out.println("1");
}
}
} catch (FileNotFoundException ex) {
ex.printStackTrace();
return;
}
}

最佳答案

解决这个问题的一般方法是使用堆栈。对于每个输入字符串,从一个空堆栈开始:

  • 遇到开括号时,将其压入堆栈。
  • 当遇到右括号时,从堆栈中弹出并与右括号进行比较,看它们是否是匹配对。如果不是,则返回false。如果是,请继续。

遍历完字符串后,检查堆栈是否为空。如果是,则返回true,否则返回false

对于引号 '" 的情况,如果您不允许同一个引号内出现引号,并且不考虑转义语法,则解决方案应该是一样的。

关于java - 如何确定文本是否具有平衡分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11610847/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com