【leetcode】两个相同字符之间的最长子字符串

 

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;
}

 

posted @ 2020-11-09 16:08  温暖了寂寞  阅读(176)  评论(0编辑  收藏  举报