方法:创建一个数组,将链表里的每个节点的值去放到数组里,在数组里利用双指针的方法遍历判断链表是否是回文链表
bool isPalindrome(List head) {
assert(head != NULL);
if (head == NULL)
{
return false;
}
int val[50000];
List p;
int i;
int cout = 0;
for (i = 0, p = head->next; p != NULL; p = p->next, i++)
{
val[i] = p->data;
cout++;
}
int left = 0;
int right = cout - 1;
while (left < right)
{
if (val[left] != val[right])
{
return false;
}
left++;
right--;
}
return true;
}
判断链表是否是回文链表
最新推荐文章于 2024-06-21 18:00:16 发布