溫馨提示×

c++怎么判斷一個字符串是否為回文

c++
小億
330
2023-11-01 13:39:35
欄目: 編程語言

在C++中,可以通過以下方法來判斷一個字符串是否為回文:

  1. 使用雙指針法:定義兩個指針,一個指向字符串的開頭,一個指向字符串的末尾。分別向中間移動指針,判斷對應的字符是否相等,如果有一個不相等,則不是回文。
bool isPalindrome(string str) {
    int start = 0;
    int end = str.length() - 1;
    
    while (start < end) {
        if (str[start] != str[end]) {
            return false;
        }
        start++;
        end--;
    }
    
    return true;
}
  1. 使用遞歸:判斷字符串的首尾字符是否相等,如果相等,則繼續(xù)遞歸判斷去掉首尾字符的字符串是否為回文;如果不相等,則不是回文。
bool isPalindrome(string str) {
    if (str.length() <= 1) {
        return true;
    }
    
    if (str[0] != str[str.length() - 1]) {
        return false;
    }
    
    return isPalindrome(str.substr(1, str.length() - 2));
}

這兩種方法都可以判斷一個字符串是否為回文,具體使用哪種方法可以根據(jù)實際情況選擇。

0