目录
1. 移除链表元素
2. 链表翻转
3. 链表的中间节点
4. 链表倒数第K个节点
示例
输入: 1,{1,2,3,4,5}
返回值:{5}
思路
1. fast先走k步
2. slow和fast再一起走,fast == NULL时,slow就是倒数第k个
实现
SLTNode* FindKthTotail(SLTNode* phead, int k)
{
SLTNode* fast, * slow;
fast = slow = phead;
while (k--)
{
//fast节点是否存在
if (fast == NULL)
return NULL;
fast = fast->next;
}
while (fast)
{
slow = slow->next;
fast = fast->next;
}
return slow;
}
5. 合并两个有序链表