234. Palindrome Linked List

来源:互联网 发布:襄县农村淘宝招聘 编辑:程序博客网 时间:2024/06/05 20:42

题目:

Given a singly linked list, determine if it is a palindrome.

思路:

遍历一次链表维护一个数组并存储对应value,再从头遍历链表的同时从尾部遍历数组,并进行比较

代码:

/** * 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) {        ListNode* temp = head;        vector<int> nums;        while(temp)        {            nums.push_back(temp->val);            temp = temp->next;        }        vector<int>::iterator itr= nums.end();        itr--;        while(head)        {            if(head->val==*itr)            {                itr--;                head= head->next;            }            else                return false;        }        return true;    }};


原创粉丝点击