2
private String getFreqString(String s) {4
StringBuilder freqString = new StringBuilder();6
char prevChar = s.charAt(0);7
freqString.append(s.charAt(0));8
for (int i = 1; i < len; i++) {9
if (s.charAt(i) == prevChar) {12
freqString.append(currFreq);13
freqString.append(s.charAt(i));16
prevChar = s.charAt(i);20
freqString.append(currFreq);23
return freqString.toString();26
private boolean isGreaterButLessThanThree(char sChar, char wChar) {27
return sChar > wChar && sChar < '3';30
private boolean isStretchy(String s, String word) {31
int sLen = s.length();32
int wordLen = word.length();34
if (sLen != wordLen) {38
for (int i = 0; i < sLen; i++) {39
char sChar = s.charAt(i);40
char wChar = word.charAt(i);45
if (isGreaterButLessThanThree(sChar, wChar)) {49
} else if (sChar != wChar) {57
public int expressiveWords(String s, String[] words) {58
int wordLen = words.length;59
if (wordLen < 1 || s.length() < 1) {63
int stretchyWords = 0;64
String freqStringS = getFreqString(s);65
for (String word : words) {66
String freqStringWord = getFreqString(word);67
if (isStretchy(freqStringS, freqStringWord)) {