使用vector
将链表中的值插入到vector中
双指针 两头向中间移动,比较大小
struct ListNode {
int val;
ListNode *next;
ListNode() : val(0), next(nullptr) {}
ListNode(int x) : val(x), next(nullptr) {}
ListNode(int x, ListNode *next) : val(x), next(next) {}
};
//使用vector
//将链表中的值插入到vector中
//双指针 两头向中间移动,比较大小
class Solution {
public:
bool isPalindrome(ListNode* head) {
if(head->next==nullptr)return true;
vector<int> vec;
ListNode *cur = head;
while(cur) {
vec.emplace_back(cur->val);
cur = cur->next;
}
for(size_t i = 0,j = vec.size()-1;i<j;++i,--j) {
if(vec[i]!=vec[j])return false;
}
return true;
}
};