public boolean checkReversing(ListNode list) {
    validateInput(list);

    ListNode<Integer> reversedList = reverseLinkedList.reverseIterative(list);

    boolean isPalindrome = true;
    while (list != null) {
      isPalindrome = list.equals(reversedList);
      if (!isPalindrome) {
        break;
      }
      reversedList = reversedList.getNext();
      list = list.getNext();
    }
    return isPalindrome;
  }
Iterative algorithm to solve this problem. If a List is a palindrome the reverse list has to
be equals to the original list. This is the base of this algorithm. The complexity order is
the same than reverse list algorithm - O(N) in time terms - because this is the most expensive
operation. In space terms, the complexity order of this algorithm is O(N).
src/main/java/com/github/pedrovgs/problem62/PalindromeList.java