Finished StringDistance (2 different O(n) implementations)