同一段代码同一个参数,跑出了不同的结果,是谁的问题

同一段代码同一个参数,跑出了不同的结果

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();
        }
    }
}

img

img