码迷,mamicode.com
首页 > 其他好文 > 详细

3. Longest Substring Without Repeating Characters

时间:2016-09-09 15:09:43      阅读:105      评论:0      收藏:0      [点我收藏+]

标签:

    public int lengthOfLongestSubstring(String s) {
        if(s == null || s.length() == 0) return 0;
        char[] target = s.toCharArray();
        int tail, head;
        tail = 0;
        Map<Character, Integer> map = new HashMap<Character, Integer>();
        map.put(target[0], 0);
        int maxSubstringNum = map.size();
        for(head = 1; head < s.length(); head++) {
            if(map.containsKey(target[head])) {
                int tmp = map.get(target[head]);
                for(int i = tail; i <= tmp; i++) {
                    map.remove(target[i]);
                }
                tail = tmp + 1;
                map.put(target[head], head);
            }
            else {
                map.put(target[head], head);
            }
            if(map.size() > maxSubstringNum) {
                maxSubstringNum = map.size();
            }
        }
        return maxSubstringNum;
    }

 

3. Longest Substring Without Repeating Characters

标签:

原文地址:http://www.cnblogs.com/ProWhalen/p/5856485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!