同一段代码同一个参数,跑出了不同的结果
class Solution {
public static Integer max = 0;
public String longestPalindrome(String param) {
if(param.length() < 2) return param;
char[] array = param.toCharArray();
HashMap<Integer, String> map = new HashMap<>();
for (int i = 0; i < array.length; i++) {
foreach(i, array.length, map, array);
}
return map.get(Solution.max);
}
public static void foreach(int start, int end, HashMap<Integer, String> map, char[] array) {
StringBuilder compare1 = new StringBuilder();
StringBuilder compare2 = new StringBuilder();
int max = 0;
for (int i = start; i < end; i++) {
compare1.append(String.valueOf(array[i]));
compare2.append(String.valueOf(array[i]));
if(compare1.toString().equals(compare2.reverse().toString())) {
max = compare1.length();
Solution.max = max > Solution.max ? max : Solution.max;
map.put(max, compare1.toString());
}
compare2.reverse();
}
}
}