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;}
};