关闭

LeetCode || Longest Substring Without Repeating Characters

225人阅读 评论(0) 收藏 举报
分类:
class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        if(s.size() == 0)
            return 0;
        if(s.size() == 1)
            return 1;

        int hashTable[256];
        for(int i = 0; i < 256; i++)
            hashTable[i] = -1;

        int start = 0;
        int end = 1;
        int result = 1;
        hashTable[s[start]] = 0;
        for(; end <= s.size(); end++) {
            if(end == s.size()) {
                int tmp = end - start;
                if(tmp > result)
                    result = tmp;
                continue;
            }
            if(hashTable[s[end]] < start) {
                hashTable[s[end]] = end;
                continue;
            } else {
                int tmp = end - start;
                if(tmp > result)
                    result = tmp;
                start = hashTable[s[end]] + 1;
                hashTable[s[end]] = end;
            }

        }
        return result;
    }
};
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:50381次
    • 积分:2326
    • 等级:
    • 排名:第16772名
    • 原创:190篇
    • 转载:5篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论