大三今日总结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;
}

浙公网安备 33010602011771号