无重复字符的最长子串
力扣题目详情:
解题思路:
首先把字符串变成数组形式str1;
新建临时变量temp来存储最大字符串;
循环数组,对比temp中是否存在数组元素,如果存在,代表重复了,那么就需要删除temp中的重复元素,也就是截取字符串;
最后选择最大的就行!
代码实现:
if (s==null)
{
throw new ArgumentNullException();
}
var str1 = s.ToCharArray();//转换成字符数组
var num = new List<int>();
var temp = "";
for (int i = 0; i < str1.Length; i++)
{
if (temp.IndexOf(str1[i])>-1)
{
num.Add(temp.Length);
temp = temp.Substring(temp.IndexOf(str1[i])+1);
}
temp += str1[i];
}
num.Add(temp.Length);
return num.Max();