在 Python 中檢查字串的字首和字尾是否為迴文
假設我們有一個字串 s,我們需要檢查該字串的字首和字尾子字串是否為迴文。
因此,如果輸入類似於 s = "levelishighforracecar",則輸出將為 True,因為存在迴文字首和字尾:分別為 "level" 和 "racecar"。
為了解決這個問題,我們將遵循以下步驟 -
- l := s 的大小
- 對於範圍從 2 到 l + 2 的 i,執行
- 如果 s 的索引為 i 之前的子字串是迴文,則
- 退出迴圈
- 如果 i 等於 (l + 1),則
- 返回 False
- 對於範圍從 2 到 l + 2 的 i,執行
- 如果 s 從索引 (l - i) 到 (l - 1) 的子字串是迴文,則
- 返回 True
- 如果 s 從索引 (l - i) 到 (l - 1) 的子字串是迴文,則
- 返回 False
- 如果 s 的索引為 i 之前的子字串是迴文,則
讓我們看看以下實現以獲得更好的理解 -
示例程式碼
def is_palindrome(s): return s == s[::-1] def solve(s): l = len(s) for i in range(2, l + 1): if is_palindrome(s[0:i]): break if i == (l + 1): return False for i in range(2, l + 1): if is_palindrome(s[l - i : l]): return True return False s = "levelishighforracecar" print(solve(s))
輸入
"levelishighforracecar"
輸出
True
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP