c語(yǔ)言怎么判斷是不是回文字符串

小億
87
2024-06-03 16:22:14

要判斷一個(gè)字符串是否是回文字符串,可以使用以下步驟:

  1. 首先定義兩個(gè)指針,分別指向字符串的開(kāi)頭和結(jié)尾。
  2. 然后循環(huán)比較兩個(gè)指針?biāo)赶虻淖址欠裣嗟龋绻嗟葎t繼續(xù)向中間移動(dòng),直到兩個(gè)指針相遇或者交叉。
  3. 如果在比較的過(guò)程中發(fā)現(xiàn)有不相等的字符,則說(shuō)明該字符串不是回文字符串。
  4. 如果比較到最后兩個(gè)指針相遇或者交叉,說(shuō)明該字符串是回文字符串。

下面是一個(gè)示例代碼:

#include <stdio.h>
#include <string.h>

int isPalindrome(char *str) {
    int len = strlen(str);
    char *start = str;
    char *end = str + len - 1;
    
    while (start < end) {
        if (*start != *end) {
            return 0;
        }
        start++;
        end--;
    }
    
    return 1;
}

int main() {
    char str[] = "abcba";
    
    if (isPalindrome(str)) {
        printf("%s is a palindrome string.\n", str);
    } else {
        printf("%s is not a palindrome string.\n", str);
    }
    
    return 0;
}

在上面的示例代碼中,我們定義了一個(gè)isPalindrome函數(shù)來(lái)判斷一個(gè)字符串是否是回文字符串。然后在main函數(shù)中調(diào)用該函數(shù)來(lái)判斷字符串"abcba"是否是回文字符串。

0