# 回文链表

给你一个单链表的头节点 head ,请你判断该链表是否为回文链表。如果是,返回 true ;否则,返回 false

 

示例 1:

输入:head = [1,2,2,1]
输出:true

示例 2:

输入:head = [1,2]
输出:false

 

提示:

 

进阶:你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

## template ```cpp #include using namespace std; struct ListNode { int val; ListNode *next; ListNode(int x) : val(x), next(NULL) {} }; class Solution { public: bool isPalindrome(ListNode *head) { vector v; while (head != NULL) { v.push_back(head->val); head = head->next; } for (int i = 0; i < v.size(); i++) { if (v[i] != v[v.size() - i - 1]) return false; } return true; } }; ``` ## 答案 ```cpp ``` ## 选项 ### A ```cpp ``` ### B ```cpp ``` ### C ```cpp ```