字谜 java_java - 2字的字谜 - 堆栈内存溢出
我正在練習java和一些算法,所以我想創建一個程序來查看2個單詞是否是彼此的字謎。 我的方法是使用快速排序對單詞進行排序,然后查看它們是否匹配。 我測試了我的quicksort功能,它似乎工作。 也許我的字謎功能錯了? 我測試了我的代碼對"tac"和"cat" ,我變得false 。
有人可以看看我的代碼,看看我哪里出錯了嗎?
我的代碼:
public static boolean anagram(String s, String t) {
int lenS = s.length();
int lenT = t.length();
if (lenS != lenT) {
return false;
}
else if (quicksort(s) == quicksort(t)) {
return true;
}
else { return false;}
}
public static String quicksort(String s) {
int len = s.length();
int median = len/2; //pivot point
String sortedString;
if (len < 2) {
return s;
}
else {
String str = s.replace(String.valueOf(s.charAt(median-1)), "");
char pivot = s.charAt(median-1);
String less = "";
String greater = "";
for (int i = 0; i < str.length(); i++) {
char pointed = str.charAt(i);
if (pointed <= pivot) {
less += String.valueOf(pointed);
}
else {
greater += String.valueOf(pointed);
}
}
sortedString = quicksort(less) + pivot + quicksort(greater);
return sortedString;
}
}
總結
以上是生活随笔為你收集整理的字谜 java_java - 2字的字谜 - 堆栈内存溢出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: api数据加密的定义_API 设计基础规
- 下一篇: mysql过滤效率和java过滤效率_如