回文序列 Palindrome

2022-08-21 23:00:15 字數 984 閱讀 9299

1. 生成回文序列——對於輸入的整數或字串,生成乙個它的回文,長度是輸入的2倍

>>> s =input()

abcde

>>> print(s + ''

.join(reversed(s)))

abcdeedcba

2. 判斷回文序列——使用迴圈

class

solution(object):

defsum1(self, n):

pal =str(n)

size =len(pal)

j = size - 1i =0

while i if pal[i] ==pal[j]:

i += 1j -= 1

else

:

return

false

return

true

if__name__ == "

__main__":

s =solution()

print(s.sum1(n = '

12'))

3. 判斷回文序列——不使用迴圈

1)使用雙端佇列

def

palindrome():

from collections import

deque

dq =deque(word)

while len(dq) > 1:

if dq.popleft() !=dq.pop():

return

false

return true

2)利用反向切片

>>> pal = "

madam

">>> is_palindrome = int(pal==pal[::-1])

>>> print

(is_palindrome)

1

1159 Palindrome 最少插入回文串

題目大意 給出乙個串的長度及該串內容,可以在任意位置插入乙個字元,求最少的插入數字,使得串程式設計回文串.回文串及從左向右和從右向左讀相同.例如.aaaacbbbb是回文串 aaab不是回文串我們可以給最前面插入b使得原串變為baaab這個回文串 我的思路.1.如果該串為空串,或者長度為一,該串是回...

回文串 回文序列

回文串即,乙個串反過來讀也是他本身的串就叫做回文串。回文串的判定 bool ispalindrome char s return dp state temp uva 11584 每增加乙個字元,就dp該字元增加後所需最小的回文串數,注意判定回文串的時候有乙個結論,當前新加上去的字元i,能夠組成的回文...

最長回文子串行 回文子串行個數

主要內容 1 什麼是回文?2 字元子串和字元子串行的區別 3 最長回文子串行的思路和 4 回文子串行個數的思路和 回文指的是正讀和反讀都一樣的字串,如aba,abba等 字元字串指的是字串中連續的n個字元 如palindrome中,pa,alind,drome等都屬於它的字串 而字元子串行指的是字串...