租用问题

质量为本、客户为根、勇于拼搏、务实创新

< 返回租用问题列表

c++如何判断一个字符串是不是为回文,c++如何判断一个数是不是素数

发布时间:2023-11-01 13:39:35

c++如何判断一个字符串是否是为回文

在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. 使用递归:判断字符串的首尾字符是否是相等,如果相等,则继续递归判断去掉首尾字符的字符串是否是为回文;如果不相等,则不是回文。
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));
}

这两种方法都可以判断一个字符串是否是为回文,具体使用哪一种方法可以根据实际情况选择。