Longest Substring Without Repeating Characters
Given a string, find the length of the longest substring without repeating characters.
Examples:
Given "abcabcbb"
, the answer is "abc"
, which the length is 3.
Given "bbbbb"
, the answer is "b"
, with the length of 1.
Given "pwwkew"
, the answer is "wke"
, with the length of 3. Note that the answer must be a substring, "pwke"
is a subsequence and not a substring.
想了半天才想明白,这个题目啥意思。
就是说字符串中找一个没有一个字符是重复的最长的子字符串。比如说abcabcbb. 子字符串abc不重负,再加下一个a的话 就重复了。
下面这段代码 没有考虑效率问题
1 public static int lengthOfLongestSubstring(String s) { 2 int max = 0; 3 String temp = ""; 4 char[] str = s.toCharArray(); 5 for(int i = 0; i < str.length; i++) 6 { 7 8 if(temp.contains((str[i] + "").trim())) 9 { 10 temp = temp.substring(temp.indexOf(str[i]) + 1); 如果有重复的,就从重复的地方开始。 11 } 12 temp += str[i]; 13 if(temp.length() > max) 14 { 15 max = temp.length(); 16 } 17 18 } 19 return max; 20 }
posted on 2016-09-16 23:50 xiaodong135 阅读(141) 评论(0) 编辑 收藏 举报