1. 程式人生 > >Leetcode初級演算法 驗證迴文字串(Python)

Leetcode初級演算法 驗證迴文字串(Python)

問題描述:

給定一個字串,驗證它是否是迴文串,只考慮字母和數字字元,可以忽略字母的大小寫。

說明:本題中,我們將空字串定義為有效的迴文串。

 

演算法思路:

首先,去除所有非字母和數字的字元,然後統一大小寫,再來進行比較。簡單的比較可以判斷反轉前後的字串是否相同。

最快的方法在官方提供的範例中,引入了正則表示式的方法,把所有匹配的字元(字母或者數字)加到空字串中並轉換成小寫,然後再來反轉比較。非常簡潔高效。

 

程式碼:

import re
        a = ''.join(re.findall('[0-9a-zA-Z]+',s)).lower()
        return a == a[::-1]