Find longest substring without repeating characters

前端 未结 30 2581
轻奢々
轻奢々 2020-12-12 18:07

Given a string S of length N find longest substring without repeating characters.

Example:

Input:

30条回答
  •  北荒
    北荒 (楼主)
    2020-12-12 19:07

    import java.util.HashSet;
    
    public class SubString {
        public static String subString(String input){
    
            HashSet set = new HashSet();
    
            String longestOverAll = "";
            String longestTillNow = "";
    
            for (int i = 0; i < input.length(); i++) {
                char c = input.charAt(i);
    
                if (set.contains(c)) {
                    longestTillNow = "";
                    set.clear();
                }
                longestTillNow += c;
                set.add(c);
                if (longestTillNow.length() > longestOverAll.length()) {
                    longestOverAll = longestTillNow;
                }
            }
    
            return longestOverAll;
        }
    
        public static void main(String[] args) {
            String input = "substringfindout";
            System.out.println(subString(input));
        }
    }
    

提交回复
热议问题