#include #include template bool isPalindrome(std::vector v) { // The Empty Vector is also a Palindrome I guess if ( v.begin() == v.end() ) { return 1; } auto iter_front = v.begin() ; auto iter_end = v.end() - 1; // If while ( iter_front < iter_end ) { // Values are not the same so it is not a palindrome if ( *iter_front != *iter_end ) { return 0; } // Move iterators iter_front++; iter_end--; } return 1; } int main() { std::vector l = {1, 2, 3, 2, 1}; if ( isPalindrome(l) ) { std::cout << "This is a Palindrome" << std::endl; } else { std::cout << "This is *not* a Palindrome" << std::endl; } return 0; }