public String compressRecursive(String src) {
    validateInput(src);

    if (src.length() <= 1) {
      return src;
    }

    return compressRecursiveInner(src, new StringBuilder(), 1, src.charAt(0), 1);
  }
Tail recursive solution to this problem. The complexity order in time and space terms of this
recursive version is the same than te previous one.
src/main/java/com/github/pedrovgs/problem53/CompressString.java