标签:
class Solution { public: int lengthOfLongestSubstring(string s) { if(s.empty()) return 0; int hash_tab[256]; //保存当前字符上一次出现的下标 memset(hash_tab , -1 , sizeof(hash_tab)); //hash_tab中初始化所有值为-1 int max_len = 0, pos = -1;//max_len即是最长子串长度 , pos为当前子串的开始位置 for(int i=0 ; i<s.length() ; i++) { //每个字符的元位置初始化为-1 ,当当前字符是重复字符时,改变子串的开始位置 if(hash_tab[s[i]] > pos) { pos = hash_tab[s[i]]; }//if if(i-pos > max_len) { max_len = i-pos; }//if //更改首次出现字符的位置 hash_tab[s[i]] = i; }//for return max_len; } };
LeetCode(3)Longest Substring Without Repeating Characters
标签:
原文地址:http://blog.csdn.net/fly_yr/article/details/45695533