首页 > 代码库 > leetcode : Longest Substring Without Repeating Characters 解题报告
leetcode : 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.
Subscribe to see which companies asked this question
tag : two pointers HashSet
思路:
(1)从第一个字符开始遍历,计算以每个字符开始的最长无重复子字符串。
(2)每一计算的子串存在零时的HashSet里面。 注意HashSet这个数据结构, 增加元素是add()不是put().
public class Solution { public int lengthOfLongestSubstring(String s) { if(s == null || s.length() == 0) { return 0; } int max = 0; for(int i = 0; i < s.length(); i++) { HashSet<Character> set = new HashSet<Character>(); set.add(s.charAt(i)); if(max >= s.length() - i) { break; } for(int j = i + 1; j < s.length(); j++) { if(set.contains(s.charAt(j))) { break; } else { set.add(s.charAt(j)); } } max = Math.max(max, set.size()); } return max; } }
leetcode : Longest Substring Without Repeating Characters 解题报告
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。