rbegin()和rend()在以下函数中究竟做了什么来确定输入是否是回文?
bool palindromeCheck(string input) {
if (input == string(input.rbegin(), input.rend())) {
return true;
}
else {
return false;
}
}
答案 0 :(得分:2)
其中一个constructors for std::string
将一对迭代器作为输入。 rbegin()
返回原始input
字符串的最后一个字符的反向迭代器,rend()
返回原始input
字符串第一个字符前面的字符的反向迭代器(即一个超过字符串的"结束"。
结果是构造了原始版本的反转版本的新字符串,如果新字符串与原始字符串相等,那么它就是一个回文并且函数返回true。
答案 1 :(得分:0)