int maxLengthBetweenEqualCharacters(char * s){ int maxLen = -1; int tmpLen = -1; int hash[128]; if (s == NULL || strlen(s) < 2) return -1; // 初始化字典值 memset(hash, -1, sizeof(int) * 128); for (int i = 0; i < strlen(s); i++) { if (hash[s[i]] != -1) { tmpLen = i - hash[s[i]] - 1; } else { hash[s[i]] = i; //存字符出现下标的值 } if (tmpLen > maxLen) { maxLen = tmpLen; } } return maxLen; }
原文:https://www.cnblogs.com/ganxiang/p/13949079.html