rbegin()和rend()在下面的函數中做了什麼以確定輸入是否是迴文?rbegin和rend()在這個函數中做了什麼?
bool palindromeCheck(string input) {
if (input == string(input.rbegin(), input.rend())) {
return true;
}
else {
return false;
}
}
rbegin()和rend()在下面的函數中做了什麼以確定輸入是否是迴文?rbegin和rend()在這個函數中做了什麼?
bool palindromeCheck(string input) {
if (input == string(input.rbegin(), input.rend())) {
return true;
}
else {
return false;
}
}
其中一個constructors for std::string
需要一對迭代器作爲輸入。 rbegin()
將反向迭代器返回到原始input
字符串的最後一個字符,並且rend()
將原始input
字符串的第一個字符之前的字符(即,超過字符串「結尾」的字符)的反向迭代器返回。
結果是構造了原始版本的新字符串,並且如果該新字符串與原始字符串相同,那麼它是迴文序列,並且函數返回true。
這很有道理。非常感謝。 – Boojum
創建從「反向開始」到「反向結束」的字符串。換句話說,字符串向後。 –
謝謝。仍在學習C++的基礎知識。 – Boojum
你好嗎?顯然,不是通過閱讀文檔。 – Barmar