本文主要是介绍LeetCode-longest-palindromic-substring,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目描述
Given a string S, find the longest palindromic substring in S. You may assume that the maximum length of S is 1000, and there exists one unique longest palindromic substring.
# Leetcode
# 3. Longest Substring Without Repeating Characters
# https://leetcode.com/problems/longest-substring-without-repeating-characters/description/
# 无重复最长子串的长度# 思路:通过set来保存无重复的字符,start记录子串开始位置,end记录结束位置;
# 遍历字符串,如果set中不存在当前字符,则加入,同时end+1,更新maxLength
# 如果存在,就移除set中,和当前字符相同的字符,在s位置之前的所有字符
# 如khabcabc,找到和第二个a相同的a,位于index=2,之前的依次是kha,移除set中的k\h\a.重新计数。
class Solution(object):def lengthOfLongestSubstring(self, s):""":type s: str:rtype: int"""n = len(s)myset = set()start = end = maxLength = 0while start < n and end < n:if not myset.__contains__(s[end]):myset.add(s[end])end += 1maxLength = max(maxLength, end - start)else:myset.remove(s[start])start += 1return maxLength
这篇关于LeetCode-longest-palindromic-substring的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!