Given a singly linked list, determine if it is a palindrome.
推断一个链表是不是回文的,一个比較简单的办法是把链表每一个结点的值存在vector里。然后首尾比較。时间复杂度O(n)。空间复杂度O(n)。
/*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode(int x) : val(x), next(NULL) {}* };*/
class Solution {
public:bool isPalindrome(ListNode* head) {vector<int> temp;ListNode* ptr = head;while(ptr!=NULL){temp.push_back(ptr->val);ptr = ptr->next;}int n = temp.size();for(int i = 0; i < n/2; i++){if(temp[i] != temp[n-1-i])return false;}return true;}
};