判断一个单链表是否是回文数。
要求 时间复杂度O(n) 空间复杂度O(1)
分析:如果是连续内存的数组a[n],可以直接比较;
if a[i] == a[n-1-i]
单链表无法直接处理。怎么能同时满足时间复杂度和空间复杂度的要求呢?
为了满足O(n)的时间复杂度,只能遍历一次;
为了满足O(1)的空间复杂度,得利用单链表的特点;
构造反向链表,将正向链表和反向链表想比较
red->value == dire->value;
判断一个单链表是否是回文数。
要求 时间复杂度O(n) 空间复杂度O(1)
分析:如果是连续内存的数组a[n],可以直接比较;
if a[i] == a[n-1-i]
单链表无法直接处理。怎么能同时满足时间复杂度和空间复杂度的要求呢?
为了满足O(n)的时间复杂度,只能遍历一次;
为了满足O(1)的空间复杂度,得利用单链表的特点;
构造反向链表,将正向链表和反向链表想比较
red->value == dire->value;