变形回文串

Q: Str是一个长度小于等于8的由大小写字母和数字字符组成的字符串。判断由Str中逐个字符ASCII值的10进制数字连接组成的字符串是否是回文串。
例如:“8MA”中三个字符的ASCII值分别为567765,那么连接成的字符串为“567765”,显然是一个回文串,那么输出True

相关说明

输入条件

  1. Str中每个字符只包含数字、大小写字母
  1. Str的长度小于等于8

输出要求

  1. 如果是回文串则返回True
  1. 否则返回False

其它要求

将代码写入函数func3

测试用例:

输入

返回

“8MA”

True

“B”

True

“Oa”

True

“YY”

False

std::to_string() 将这个字符转换为其对应的ASCII码值的字符串

调用std::reverse()函数时,你需要传递一个范围,它将会翻转这个范围内的元素。在C++中,字符串(std::string)是一个由字符组成的序列,可以通过使用迭代器来表示。str.begin() 返回字符串的第一个字符的迭代器,而 str.end() 返回字符串末尾的下一个位置的迭代器。

因此翻转一个字符串str: reverse(str.begin(),str.end())

//=================================================
// 说明:编程题3
// 参数说明: const string& str: 由大小写字母和数字字符组成的字符串
// 返回值: true---str为变形回文串;false---str不是变形回文串
//=================================================
bool func3(const string& str)
{
    string res = "";
    for (auto ch : str){
        res += to_string(ch);
    }
    string res_reverse = res;
    reverse(res.begin(),res.end());
    if (res_reverse == res)return true;
    else return false;

}

你可能感兴趣的:(C++刷题,c++)