Palindrome Linked List

来源:互联网 发布:魔神英雄传 知乎 编辑:程序博客网 时间:2024/06/14 18:11

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

Follow up:
Could you do it in O(n) time and O(1) space?

判断一个链表是否为回文序列。

遍历一次存入vector,便利第二次判断是否回文;但是这样的空间复杂副就是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> list;        ListNode* begin=head;        while(begin)        {            list.push_back(begin->val);            begin=begin->next;        }        for(int i=0;i<list.size();i++)        {            if(list[i]!=list[list.size()-i-1]) return false;        }        return true;    }};


0 0