得优化,做的很垃圾
示例 1:
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
public int lengthOfLongestSubstring(String s) {
if (" ".equals(s)){
return 1;
}else if ("".equals(s)){
return 0;
}
char[] chars = s.toCharArray();
StringBuffer str = new StringBuffer();
String s1 = new String();
int result =0;
for (char aChar : chars) {
String i = String.valueOf(aChar);
if (!s1.contains(i)){
s1+= i;
result=s1.length();
}else {
int index = s1.indexOf(i);
s1+= i;
s1=s1.substring(index+1);
if (result<s1.length()){
result=s1.length();
}
}
}
return result;
}

该博客讨论了一个字符串处理问题,即找到输入字符串中最长的不包含重复字符的子串。提供的Java代码实现通过遍历字符并使用StringBuffer来更新和检查子串,遇到重复字符时进行截取和更新结果。该算法旨在提高效率并减少冗余操作。
171万+

被折叠的 条评论
为什么被折叠?



