static boolean isMatch
(String p, String str
) { if (p.isEmpty() && str.isEmpty())
return true;
else if (p.isEmpty() && !str.isEmpty())
return false;
else if (str.isEmpty() && p.charAt(0) == '*')
return isMatch(p.substring(1), str);
else if (str.isEmpty())
return false;
if (p.charAt(0) == '?' || p.charAt(0) == str.charAt(0))
return isMatch(p.substring(1), str.substring(1));
else if (p.charAt(0) != '*')
return false;
boolean match = false;
if (p.length() == 1)
return true;
for (int i = 0; i < str.length(); i++) {
match = isMatch(p.substring(1), str.substring(i));
if (match)
break;
}
return match;
}