面试题28:单链表一次遍历删除从后往前的第n个节点
2017-05-19 10:51
381 查看
1 class Solution { 2 public: 3 ListNode *removeNthFromEnd(ListNode *head, int n) { 4 5 ListNode* fake = new ListNode(-1); 6 fake->next = head; 7 ListNode* p = fake; 8 while(n >0){ 9 p = p->next; 10 n--; 11 } 12 13 ListNode* cur = fake; 14 while(p->next){ 15 p = p->next; 16 cur = cur->next; 17 } 18 ListNode* tmp = cur->next; 19 cur->next = cur->next->next; 20 delete tmp; 21 22 return fake->next; 23 } 24 };
相关文章推荐
- 链表遍历一次删除倒数第N个节点
- 单链表一次遍历获取倒数第n个节点
- 数据结构:遍历一次获得链表的倒数第N个节点
- C/C++面试之算法系列--一次遍历找链表倒数第n个节点
- 174. 删除链表中倒数第n个节点 (remove-nth-node-from-end-of-list)(c++)----lintcode面试题之链表
- 【面试题】删除链表中倒数第n个节点
- 程序员面试题精选(35):一次遍历链表求中间节点位置
- 算法与数据结构面试题(11)-一次遍历得到链表的中间节点
- 删除单链表的头元素;单链表,只是遍历一次,求出中间节点
- 链表4 ---- 如何一次遍历删除链表的倒数第n个元素
- 线性表---单链表(一次遍历找链表倒数第n个节点)
- 一次遍历找链表倒数第n个节点
- 一次遍历找链表倒数第n个节点
- Remove Nth Node From End of List 删除链表倒数第N个节点
- 链表3 ----- 一次遍历找到中间节点
- C语言:【单链表】查找单链表的倒数第k个节点,要求只能遍历一次
- #19 Remove Nth Node From End of List(删除链表倒数第N个节点)
- 剑指offer-面试题13-在O(1)时间删除链表节点
- [LeetCode] 19. Remove Nth Node From End of List 删除链表的倒数第N个节点 @python