3.无重复字符的最长子串

2020-02-27  本文已影响0人  寂灭天骄小童鞋

https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/

func lengthOfLongestSubstring(_ s: String) -> Int {
    var maxLength = 0
    var start = 0
    var end = 0
    var storeDic = Dictionary<Character, Int>()
    for (index, charStr) in s.enumerated() {
        end = index
        if storeDic.keys.contains(charStr) {
            start = max(storeDic[charStr]!, start)
        }
        maxLength = max(end - start + 1, maxLength);
        //标识当前位置后一位开始不重复,以便正确更新start
        storeDic.updateValue(end + 1, forKey: charStr)
    }
    return maxLength
}
上一篇下一篇

猜你喜欢

热点阅读