leetCode 刷题
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
解答: 滑动窗口
执行结果:
通过
显示详情
执行用时 :108 ms, 在所有 JavaScript 提交中击败了93.37%的用户
内存消耗 :39.8 MB, 在所有 JavaScript 提交中击败了62.97%的用户
var lengthOfLongestSubstring = function(s) { if(!s)return 0; var max = ""; var ss = ""; for(var m = 0; m <s.length;m++){ var t = s.charAt(m); var index = ss.indexOf(t); ss = ss+t; if(index>-1){ var tt = ss.substring(0,index+1); ss = ss.substring(index+1); max = tt.length>max.length?tt:max; }else{ max= max.length<ss.length?ss:max; } } return max.length>ss.length?max.length:ss.length; };
发表评论