1. 程式人生 > >Leetcode演算法題(C語言)17--驗證迴文字串

Leetcode演算法題(C語言)17--驗證迴文字串

題目:驗證迴文字串

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

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

示例 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; }