驗證回文字串 leetcode

2021-09-20 04:05:47 字數 924 閱讀 6918

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

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

示例 1:

輸入: 「a man, a plan, a canal: panama」

輸出: true

示例 2:

輸入: 「race a car」

輸出: false

c++版本

class solution {

public:

bool ispalindrome(string s) {

if(s.size()<=0)return true;

int i =0;

int j=s.size()-1;

while(i思路:分別從字串頭尾進行驗證,非數字和字母的跳過,直到驗證完字串

其中isalnum() isalpha() isdigit()函式分別為判斷字元是否為數字字母、字母、數字

tolower() 和toupper()函式分別為變小寫和變大寫。

python版本

class solution:

def ispalindrome(self, s: str) -> bool:

if (len(s)<=1):return true

str1=""

for char in s:

if char.isalnum():

str1+=char.lower()

return str1==str1[::-1]

思路:取出字串中的數字和字母再進行驗證

其中python中.lower()和.upper()為將字串變小寫和變大寫函式,.isdigit()、.isalpha()和.isalnum()函式均為判斷字串的。

LeetCode 驗證回文字串

給定乙個非空字串s,最多刪除乙個字元。判斷是否能成為回文字串。示例 1 輸入 aba 輸出 true 示例 2 輸入 abca 輸出 true 解釋 你可以刪除c字元。注意 字串只包含從 a z 的小寫字母。字串的最大長度是50000。思路 雙指標 當不相等的時候 左指標跳過乙個或者右指標跳過乙個 ...

Leetcode 驗證回文字串。

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫 說明 本題中,我們將空字串定義為有效的回文串 1.先將字串變為小寫,因為本題忽略了字母的大小寫。2.利用字元的ascii值進行驗證 3.採用雙指標的辦法,乙個指向頭,乙個指向尾,同時向中間靠攏,過程中兩指標指向目標不相等則...

leetcode 驗證回文字串 python3

方案一 一般方法 分奇數偶數來說,方法比較一般 import string 給join傳遞入參時計算符合條件的字元,去掉標點符號 b join c for c in s if c not in string.punctuation 把空格去掉 b b.replace 小寫b b.lower l le...