Leetcode演算法題(C語言)17--驗證迴文字串
阿新 • • 發佈:2018-12-20
題目:驗證迴文字串
給定一個字串,驗證它是否是迴文串,只考慮字母和數字字元,可以忽略字母的大小寫。
說明:本題中,我們將空字串定義為有效的迴文串。
示例 1:
輸入: “A man, a plan, a canal: Panama” 輸出: true
示例 2:
輸入: “race a car” 輸出: false
程式碼實現:
bool isPalindrome(char* s) {
int len = strlen(s);
int j = 0;
char array[len + 1];
/* 將原字串中的字母和數字拷貝到新字串,並將其轉換成小寫字母 */
for(int i = 0; i < len; i++)
{
if(isalnum(s[i]))
{
array[j] = tolower(s[i]);
j++;
}
}
array[j] = '\0';
/* 獲取新字串長度 */
len = strlen(array);
/* 判斷是否迴文 */
for(int i = 0; i < len/2; i++)
{
if(array[i] != array[len - i - 1])
return false;
}
return true;
}