这是我难以理解的行
return (match(regex.substring(1), s)|| match(regex, s.substring(1)));
我的理解是,如果第一种方法为假,它将调用后者。所以我写了一个简单的程序来测试。
public static void main(String[] args)
{
System.out.println(test(5));
}
public static boolean test(int a)
{
System.out.println(a);
if (a>10)
return true;
if (a==4)
return false;
else
return (test(a-1) || (test(a+1)));
}
但它只打印 5 4 6 5 4 6...