专业重庆房产网站建设,12333社保查询网,软件开发公司税收优惠政策,顶棒 技术支持 东莞网站建设LeetCode | 19. 删除链表的倒数第 N 个结点
OJ链接 思路#xff1a;
定义虚拟头节点dummy并初始化使其指向head然后定义快慢指针让快指针先走n步然后一起走最后删除倒数第n个节点然后释放虚拟节点dummy
struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {…LeetCode | 19. 删除链表的倒数第 N 个结点
OJ链接 思路
定义虚拟头节点dummy并初始化使其指向head然后定义快慢指针让快指针先走n步然后一起走最后删除倒数第n个节点然后释放虚拟节点dummy
struct ListNode* removeNthFromEnd(struct ListNode* head, int n) {//定义虚拟头节点dummy 并初始化使其指向headstruct ListNode* dummy malloc(sizeof(struct ListNode));dummy-val 0;dummy-next head;//定义 fast slow 双指针struct ListNode* fast head;struct ListNode* slow dummy;for (int i 0; i n; i) {fast fast-next;}while (fast) {fast fast-next;slow slow-next;}slow-next slow-next-next;//删除倒数第n个节点head dummy-next;free(dummy);//删除虚拟节点dummyreturn head;
}