leetcode : Longest Substring Without Repeating Characters 解题报告
Posted notesbuddy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 解题报告的主要内容,如果未能解决你的问题,请参考以下文章
Leetcode409. Longest Palindrome
[Leetcode]Longest Palindromic Substring