查詢字串最長回文

2021-09-16 20:34:12 字數 968 閱讀 6921

longest palindromic substring

input: "babad"

output: "bab"

input: "cbbd"

output: "bb"

回文有奇回文和偶回文,abcba是奇回文,abccba是偶回文

回文都是中心對稱,找到對稱點後,同時向前後尋找回文的最長串即可

奇回文和偶回文可以歸為同一種情況,即abcbac為對稱點,abccbacc為對稱點,但為了**可讀性,可以分開討論

class solution(object):

def longestpalindrome(self, s):

""":type s: str

:rtype: str

"""self.maxlen = 0

self.retstr = ''

if len(s) < 2:

return s

for i in range(len(s)):

self.__find_palindrome(s, i, i) #奇回文

self.__find_palindrome(s, i, i+1) #偶回文

return self.retstr

def __find_palindrome(self, s, j, k):

while j >= 0 and k < len(s) and s[j] == s[k]:

j -= 1

k += 1

if self.maxlen < k - j + 1:

self.maxlen = k - j + 1

self.retstr = s[j+1:k]

查詢字串

在乙個主串中查詢相應的子串,如 abcdwoshidef 中查詢 woshi 方法 該實現的方法是最簡單的模式匹配方法,時間複雜度較高 include iostream using namespace std int searchstring const char str1,const char s...

查詢字串

qstring startwith 判斷乙個字串是否以某個字串開頭,引數 字串,大小寫敏感 qstring str welcome to you str.startswith welcome qt casesensitive 返回true str.startswith you qt casesens...

查詢字串

本身不難,寫到這裡只是乙個備忘錄的作用。假定linux系統中有乙個目錄,其中遞迴的存在若干子目錄。現在需要在這些目錄的檔案中尋找乙個字串marvel。我看到的方法是 find type f exec grep marvel 可是死活就是錯誤 find missing argument to exec...