我是黑客级别的新手,目前正在解决java堆栈中的问题,我试图解决以下算法:
如果满足以下条件,则仅包含括号的字符串是平衡的:1.如果是空字符串2.如果A是正确的,那么B是正确的.如果A是正确的,(A)和{A}和[A]也是正确的.
一些正确平衡的字符串的示例有:"{}()"、"[{()}]"、"({()})"
一些不平衡字符串的例子有:"{}(","({)}","[[","}{"等.
给定一个字符串,确定它是否平衡.
我发现下面的一行解决方案我不明白有人能解释一下吗?
class Solution{
public static void main(String []argh)
{
Scanner sc = new Scanner(System.in);
while (sc.hasNext()) {
String input=sc.next();
while(input.length() != (input = input.replaceAll("\\(\\)|\\[\\]|\\{\\}", "")).length());
System.out.println(input.isEmpty());
}
}
}