力扣125 驗證回文串(雙指標 內建函式)

2021-10-05 07:16:54 字數 1051 閱讀 8430

力扣125. 驗證回文串(雙指標、內建函式)

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

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

示例 1:

輸入: "a man, a plan, a canal: panama"

輸出: true

示例 2:

輸入: "race a car"

輸出: false

#include "stdafx.h"

#include #include using namespace std;

class solution

//如果遇到不是字母和數字字元,跳過

else

//只檢查字母和數字字元

if (('0' <= s[high] && s[high] <= '9') || ('a' <= s[high] && s[high] <= 'z') || ('a' <= s[high] && s[high] <= 'z'))

//如果遇到不是字母和數字字元,跳過

else

//匹配字元,忽略字母的大小寫

if (s[low] == s[high] || (('a' <= s[low] && s[low] <= 'z') &&(s[low] - s[high]) == 32) || (('a' <= s[high] && s[high] <= 'z') && ((s[high] - s[low]) == 32)))

else

}return true;

}};int main()

針對字元,c++的幾個內建函式

islower(char c) 是否為小寫字母

isuppper(char c) 是否為大寫字母

isdigit(char c) 是否為數字

isalpha(char c) 是否為字母

isalnum(char c) 是否為字母或者數字

toupper(char c) 字母小轉大

tolower(char c) 字母大轉小

LeetCode 力扣 125 驗證回文串

判斷乙個字串是否是回文串,忽略掉除了字母和數字外的字元。兩個指標,乙個指標從頭進行,乙個指標從尾部進行。依次判斷兩個指標的字元是否相等,同時要跳過非法字元。需要注意的是,兩個指標不用從頭到尾遍歷,當兩個指標相遇的時候就意味著這個字串是回文串了。還需要注意的是 a a 也就是大寫字母和小寫字母是相同的...

leetcode 125 驗證回文串(雙指標)

leetcode 125.驗證回文串 給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。leetcode官方題解 篩選 遍歷字串進行一次遍歷,保留字母和數字字元,放在另乙個字串中。注意大小寫字母的轉換 使用雙指標 初始時,左右...

雙指標 LeetCode125 驗證回文串

給定乙個字串,驗證它是否是回文串,只考慮字母和數字字元,可以忽略字母的大小寫。說明 本題中,我們將空字串定義為有效的回文串。輸入 a man,a plan,a canal panama 輸出 true 輸入 race a car 輸出 false雙指標 class solution object d...