leetcode 之Remove Nth Node From End of List(19)
Posted 牧马人夏峥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode 之Remove Nth Node From End of List(19)相关的知识,希望对你有一定的参考价值。
这题比较简单,方法有很多。其中一种比较有意思的做法是设置两个指针,一个先走n步,然后再一起走。一个到了末尾,另一个也就确定了要删除元素的位置。
ListNode *removeNthFromEnd(ListNode *head, int n) { ListNode dummy{-1, head}; ListNode *p = &dummy, *q = &dummy; for (int i = 0; i < n; i++) // q 先走 n 步 q = q->next; while(q->next) { // 一起走 p = p->next; q = q->next; } ListNode *tmp = p->next; p->next = p->next->next; delete tmp; return dummy.next; }
以上是关于leetcode 之Remove Nth Node From End of List(19)的主要内容,如果未能解决你的问题,请参考以下文章
leetcode:Remove Nth Node From End of List
[LeetCode19]Remove Nth Node From End of List
LeetCode(19) - Remove Nth Node From End of List
LeetCode19. Remove Nth Node From End of List