1. 程式人生 > >給定一個字串,找出不含有重複字元的最長子串的長度(javascript)

給定一個字串,找出不含有重複字元的最長子串的長度(javascript)

var lengthOfLongestSubstring = function(s){
			var str = '';//存放當前最大無重複項字串
			var len = 0;//存放當前當前最大無重複項字串長度
			for(var i=0;i<s.length;i++){
				var char = s.charAt(i);
				var index = str.indexOf(char);
				if(index === -1){  //遍歷s將元素挨個放入到str中,每放入一次判斷str中是否有重複項
					str += char;
					len = len<str.length?str.length:len;//記錄最大長度項,每次重新記錄str進行判斷,是否大於上次一次最大項
				}
				else{
					str = str.substr(index + 1) + char; //從當前重複項開始重新記錄str
				}
			}
			return len;
		}