struct ListNode
{
int m_nKey;
ListNode *m_pNext;
};
Q1:单链表反转。
Q2:检测单链表是否有环,如果有环的话,找到环的入口点。
Q3:检测两个单链表是否相交,如果相交,返回相交节点。
Q4:从尾到头输出链表。
Q5:在O(1)时间删除链表节点。
Q6:只给定单链表中某个非空节点p,在p前面插入一个节点。
Q7:给定链表头结点,删除链表中倒数第k个节点。
Q8:链表排序。
Q9:两个有序链表合并。
Q10:找出链表的中间元素。
A10:使用快慢指针,慢指针每次向前走一步,快指针每次向前走两步,快指针为NULL时,慢指针就指向中间元素。