public String reverseIterative(String input) {
    validateInput(input);

    StringBuilder stringBuilder = new StringBuilder();
    for (int i = input.length() - 1; i >= 0; i--) {
      stringBuilder.append(input.charAt(i));
    }
    return stringBuilder.toString();
  }
Iterative algorithm to solve this problem. The complexity order in time and space terms of
this algorithm is O(N) where N is the number of chars in the input String. In time terms is
possible to get O(N) because String class uses a char array internally and the complexity
order of charAt method is O(1).
src/main/java/com/github/pedrovgs/problem51/ReverseString.java