static boolean isPalindrome(LinkedListNode n) {
        if (n == null) return true;

        LinkedListNode fast = n;
        LinkedListNode slow = n;

        Stack<Integer> stack = new Stack<Integer>();

        while (fast != null && fast.next != null) {
            stack.push(slow.getValue());
            fast = fast.next.next;
            slow = slow.next;
        }

        //odd
        if (fast != null) {
            slow = slow.next;
        }

        while (slow != null) {
            if (stack.pop() != slow.getValue()) {
                return false;
            }
            slow = slow.next;
        }

        return true;
    }