题目
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
复制代码
示例 2:
输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
复制代码
示例 3:
输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
复制代码
示例 4:
输入: s = ""
输出: 0
复制代码
提示:
0 <= s.length <= 5 * 104
s 由英文字母、数字、符号和空格组成
复制代码
解题思路
Java代码
class Solution {
public int lengthOfLongestSubstring(String s) {
String str = "";
int max = 0;
char[] c = s.toCharArray();
for (int i = 0; i < c.length; i++) {
while (str.contains(String.valueOf(c[i]))) {
str = str.substring(1);
}
str = str + String.valueOf(c[i]);
if (str.length() > max) {
max = str.length();
}
}
return max;
}
}
复制代码
Swift代码
class Solution {
func lengthOfLongestSubstring(_ s: String) -> Int {
var str = ""
var max = 0
for item in s {
// if str.contains(item) {
// str.remove(at: str.startIndex)
// }
while str.contains(item) {
// 删除第一个
str.remove(at: str.startIndex)
}
print(str)
str = str + item.description
if str.count > max {
max = str.count
}
}
return max
}
}
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END








![在画布上绘图[入门canvas教程]-一一网](https://www.proyy.com/skycj/data/images/2021-05-17/c4a95a1c2898fef10457d10679b68685.jpg)














![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)