目录
前言:
在对链表进行操作时,一种常用的技巧是添加一个哑节点(dummy node),它的 next 指针指向链表的头节点。这样一来,我们就不需要对头节点进行特殊的判断了,可省去许多麻烦。
1.19. 删除链表的倒数第 N 个结点
问题描述:
思路:
先求出链表长度,后找到要被删除节点的前一个节点。第二次遍历是是从哑巴节点开始的。
代码:
int getLength(struct ListNode* head) {
int length = 0;
while (head) {
++length;
head = head->next;
}
return length;
}
struct ListNode* removeNthFromEnd(