/**
* struct ListNode {
* int val;
* struct ListNode *next;
* };
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类 the head
* @return bool布尔型
*/
#include <stdbool.h>
bool isPail(struct ListNode* head ) {
// write code here
struct ListNode* temp=NULL;
struct ListNode* p=head;
if(p==NULL && p->next==NULL)
return true;
while(p) //创建一个新的链表,然后比较
{
struct ListNode* temp1=malloc(sizeof(struct ListNode));
temp1->val=p->val;
temp1->next=NULL;
p=p->next; //创建新结点
if(temp==NULL)
{
temp=temp1;
}
else
{
temp1->next=temp;
temp=temp1;
}
}
p=head;
while(temp)
{
if(temp->val != p->val)
return false;
temp=temp->next;
p=p->next;
}
return true;
}
头插构造新链表与目标链表比较即可

京公网安备 11010502036488号