funclengthOfLongestSubstring(s string)int { if s == "" { return0 } var ( maxX = 0 maxY = 1 x = 0 y = 1 ) charList := []byte(s) for x <= y && y < len(charList) { isIn := false for _, i := range charList[x:y] { if i == charList[y] { isIn = true break } } if isIn { x += 1
} else { y += 1 } if y-x > maxY-maxX { maxY, maxX = y, x } } return maxY - maxX }
本地测试
package main
import"fmt"
funcmain() { a := "abcabcbb" fmt.Println(lengthOfLongestSubstring(a)) b := "bbbbb" fmt.Println(lengthOfLongestSubstring(b)) c := "pwwkew" fmt.Println(lengthOfLongestSubstring(c)) }