1. 题面
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
| 12
 3
 
 | 输入: "abcabcbb"输出: 3
 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
 
 | 
示例 2:
| 12
 3
 
 | 输入: "bbbbb"输出: 1
 解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
 
 | 
示例 3:
| 12
 3
 4
 
 | 输入: "pwwkew"输出: 3
 解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
 请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
 
 | 
2. 解答
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 
 | class Solution {public int lengthOfLongestSubstring(String s) {
 if(s.length() == 1)
 return 1;
 
 char[] str = s.toCharArray();
 String res = "";
 String tmp = "";
 
 for(int i = 0;i<str.length;i++) {
 for(int j = i;j<str.length;j++) {
 if(i == j) {
 tmp =  str[j] + "";
 } else {
 if(!tmp.contains(str[j] + "")) {
 tmp += str[j];
 }else {
 if(res.length() < tmp.length()) {
 res = tmp;
 }
 break;
 }
 if(j == str.length-1) {
 if(res.length() < tmp.length()) {
 res = tmp;
 }
 }
 }
 }
 }
 System.out.println(res);
 return res.length();
 }
 }
 
 | 
        
        若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏