所以我试图弄清楚两个字符串组合在一起时是否是另一个字符串排列的子字符串。
我有一个我认为是可行的解决方案,但它在一些 JUnit 测试用例中失败了,我无法访问它失败的那些。
这是我的代码和一个测试用例
String a="tommarvoloriddle";
String b="lord";
String c="voldemort";
String b= b+c;
char[] w= a.toCharArray();
char[] k= b.toCharArray();
Arrays.sort(k);
Arrays.sort(w);
pw.println(isPermuation(w,k)?"YES":"NO");
static boolean isPermuation(char[] w, char[] k)
{
boolean found=false;
for(int i=0; i<k.length; i++)
{
for(int j=i; j<w.length; j++)
{
if(k[i]==w[j])
{
j=w.length;
found=true;
}
else
found=false;
}
}
return found;
}
任何帮助让它总是产生正确的答案会很棒,帮助提高效率也会很棒