字谜程序
int len1 = a.length();
int len2 = b.length();
char[] arr1 = a.toCharArray();
char[] arr2 = b.toCharArray();
Arrays.sort(arr1);
Arrays.sort(arr2);
if (String.valueOf(arr1).equalsIgnoreCase(String.valueOf(arr2))) {
return true;
}
return false;
}
结果 输入 字符串1 =你好 String2 =你好 但我的结果显示没有字谜 我要打印它必须要字谜
我的屏幕截图: https://imgur.com/74VarZh
答案 0 :(得分:1)
您的问题是,您在char[]
上进行排序而不忽略大小写,Hello
与hello
的排序不同。
Hello
将被排序为Hello
。
hello
将被排序为ehllo
。
要解决此问题,您可以先将String
的值设置为小写,然后再通过以下操作将其转换为数组:
a = a.toLowerCase();
b = b.toLowerCase();
char[] arr1 = a.toCharArray();
char[] arr2 = b.toCharArray();
答案 1 :(得分:0)
虽然我同意Nexevis在比较它们之前将字符串设置为小写的方法,但作为一点有用的知识,也许知道大写和小写ASCII字符总是分开32个会有所帮助。