给你一个单链表的头节点 head
,请你判断该链表是否为
回文链表
。如果是,返回 true
;否则,返回 false
。
示例 1:
输入:head = [1,2,2,1] 输出:true
示例 2:
输入:head = [1,2] 输出:false
思路:把链表结点的元素复制到数组中,然后双指针比较。
class Solution {
public:bool isPalindrome(ListNode* head) {vector<int> nums;while(head!=NULL){nums.push_back(head->val);head=head->next;}for(int i=0,j=nums.size()-1;i<j;i++,j--){ if(nums[i]!=nums[j])return false;}return true;}
};