c_cpp 234.回文链接清单

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 234.回文链接清单相关的知识,希望对你有一定的参考价值。

//20ms  50%

class Solution {
public:
    bool isPalindrome(ListNode* head) {
        if(!head || !head->next)
            return true;
        vector<int> array;
        array.push_back(head->val);
        while(head->next != NULL){
            head = head->next;
            array.push_back(head->val);
        }
        // cout << array.size();
        for(int i = 0,j = array.size()-1;i < j;++i,--j)
            if(array[i] != array[j])
                return false;
        return true;
    }
};
//20 ms 

class Solution {
public:
    ListNode* temp;
    bool isPalindrome(ListNode* head) {
        temp = head;
        return check(head);
    }
    
    bool check(ListNode* p){
        if(NULL == p) return true;
        bool isPal = check(p->next) & (temp->val == p->val);
        temp = temp->next;
        return isPal;
    }
};

以上是关于c_cpp 234.回文链接清单的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode234. 回文链表

Leetcode-234. 回文链表

LeetCode234:回文链表

c_cpp 206.反向链接清单

c_cpp 循环链接清单实施

c_cpp 876.链接清单的中间位置