大三今日总结3

输入一个字符串,判断该字符串是否为回文。回文就是字符串中心对称,从左向右读和从右向左读的内容是一样的。

include

include

bool isPalindrome(const std::string& str) {
int left = 0;
int right = str.length() - 1;

while (left < right) {
    if (str[left] != str[right]) {
        return false;
    }
    left++;
    right--;
}

return true;

}

int main() {
int length;
std::cin >> length;
std::cin.ignore(); // 忽略缓冲区中的换行符

std::string input;
std::getline(std::cin, input);

// 检查输入是否包含空格
if (input.find(' ') != std::string::npos) {
    std::cout << "入栈不成功" << std::endl;
    return 0;
}

// 检查输入实际长度是否与给定长度一致
if (input.length() != length) {
    std::cout << "输入长度与字符串实际长度不匹配" << std::endl;
    return 0;
}

// 判断是否为回文
if (isPalindrome(input)) {
    std::cout << "此字符串是回文串" << std::endl;
} else {
    std::cout << "此字符串不是回文串" << std::endl;
}

return 0;

}

posted @ 2026-01-09 14:02  C(5,3)  阅读(1)  评论(0)    收藏  举报