1. 创建一个名为Solution的类。
  2. 在类中定义一个名为lengthOfLongestSubstring的方法,该方法返回一个整数类型的值,并以一个字符串s作为参数。
  3. 在方法中,首先进行条件判断,如果s为null或者s的长度为0,则返回0。
  4. 创建一个HashMap对象map,用于存储字符和其出现的索引位置。
  5. 创建一个整数变量maxLen,用于存储最长子串的长度,初始化为0。
  6. 创建一个整数变量left,用于存储子串的左边界,初始化为0。
  7. 使用一个for循环遍历字符串s中的每个字符,循环变量为right。
  8. 在循环中,通过s.charAt(right)获取当前字符,并将其赋值给变量c。
  9. 使用if语句判断map中是否包含字符c,即判断当前字符是否已经出现过。
  10. 如果字符c已经在map中出现过,执行if语句块中的代码。
  11. 在if语句块中,使用Math.max方法比较left和map.get(c) + 1的值,将较大的值赋给left。这是为了确保left不会回退到已经出现过的字符的位置之前。
  12. 将字符c和当前索引位置right存入map中。
  13. 使用Math.max方法比较maxLen和right - left + 1的值,将较大的值赋给maxLen。这是为了更新最长子串的长度。
  14. 循环结束后,返回maxLen作为结果
public class Solution public int lengthOfLongestSubstringString s if s == null slength == 0 return 0; HashMapCharacter Integer map = new HashMap;

原文地址: https://www.cveoy.top/t/topic/iFIj 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录