Pergunta de entrevista da empresa BuildASign.com

Given a string of random (alphabetical) characters, return a new string as follows: null -> null "" -> "" "a" -> "a" "aa" -> "a2" "abb" -> "ab2" "abbbxyzeeeec" -> "ab3xyze4c"