题目: 思路: 用队列实现滑动窗口字符串中的元素依次入队之前,只要当前队列含有该元素,进行出队操作,保证入队之后队列中元素无重复这样就得到以各个字符元素结尾的无重复字符串每次判断当前存储的最长无重复字符串的长度与队列中元素个数的最大值,进而更新最大值 代码: public class Solution { public int LengthOfLongestSubstring(string s) { Queue <char> queue=new Queue<char>(); int max_len=0; for(int i=0;i<s.Length;i++) { while(queue.Contains(s[i])) { queue.Dequeue(); } queue.Enqueue(s[i]); max_len=Math.Max(max_len,queue.Count); } return max_len; } } ##### 补充: ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200509103533675.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0taSDM0,size_16,color_FFFFFF,t_70)