无重复字符串的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
1 2 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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77
| package leetCode;
import java.util.ArrayList; import java.util.List;
public class Aigo_003 {
public static void main(String[] args) { String str = "pwwkew"; System.out.println(lengthOfLongestSubstring(str)); }
public static int lengthOfLongestSubstring(String s) {
if (s.length() == 0 || s.length() == 1) { return s.length(); }
StringBuilder result = new StringBuilder(); int maxLength = 0;
for (int j = 0; j < s.length(); j++) { for (int i = j; i < s.length(); i++) {
if (!result.toString().contains(String.valueOf(s.charAt(i)))) { result.append(s.charAt(i)); if (result.length() > maxLength) { maxLength = result.length(); } } else { if (result.length() > maxLength) { maxLength = result.length(); } result = new StringBuilder(); break; } } } return maxLength; } }
|