题目:回文链表
请判断一个链表是否为回文链表。
示例 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;
}
用的方法有点狗-_-||先把链表里的值都保存到数组中,再判断是不是回文数组。