题目:请判断一个链表是否为回文链表。
初解:
class Solution {
public:
bool isPalindrome(ListNode* head) {
ListNode* t=head;
if(head==NULL){
return 1;
}
if(head->next==NULL){
return 1;
}
vector<int> v;
while(t!=NULL){ //将链表存入数组中
v.push_back(t->val);
t=t->next;
}
int n=v.size();
int i=0;
int j=n-1;
while(i<j){ //i,j,一前一后遍历数组,比较值是否相等。
if(v[i]!=v[j]){
return false;
}
i++;
j--;
}
return 1;
}
};