LeetCode初级算法-链表-5

题目:回文链表

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

示例 1:

输入: 1->2
输出: false

示例 2:

输入: 1->2->2->1
输出: true

进阶:
你能否用 O(n) 时间复杂度和 O(1) 空间复杂度解决此题?

C语言解题

bool isPalindrome(struct ListNode* head) {
    int len=0;
    int num[100000]={0};
    struct ListNode *h=head;
    while(h!=NULL)
    {
        num[len++]=h->val;
        h=h->next;
    }
    for(int i=0;i<len/2;i++)
    {
        if(num[i]!=num[len-i-1])
            return false;
    }
    return true;
}

用的方法有点狗-_-||先把链表里的值都保存到数组中,再判断是不是回文数组。

你可能感兴趣的:(C语言,LeetCode)