通过的代码:
typedef struct ListNode LNode;
typedef struct ListNode *LNode_Pointer;
bool isPalindrome(struct ListNode* head)
{
LNode_Pointer p,tail,tail_prior;
p=head;
tail_prior=head;
tail=head;
while(p!=NULL&&tail!=NULL)
{
tail=p;
while(tail->next!=NULL)
{
tail_prior=tail;
tail=tail->next;
}
if(p->val!=tail->val)
{
return false;
}
else
{
p=p->next;
tail_prior->next=NULL;
//tail=tail_prior;
if(p==tail||(p==tail->next))
break;
}
}
return true;
}
提交结果:
好菜啊。