//写了个相对简洁的方法,遍历字符串,空间复杂度比较低 function fn(str) { if (str.length < 2) return str let start = 0, len = 1, maxLen = 1 for (let i = 1; i < str.length; i++) { if (str[i] === str[i - 1]) { len++ continue } if (maxLen < len) { maxLen = len start = i - len } len = 1 } return str.substr(start, maxLen) }