【Leetcode长征系列】Remove Nth Node From End of List
来源:互联网 发布:sql注入攻击步骤 编辑:程序博客网 时间:2024/05/17 02:29
原题:
Given a linked list, remove the nth node from the end of list and return its head.
For example,
Given linked list: 1->2->3->4->5, and n = 2. After removing the second node from the end, the linked list becomes 1->2->3->5.
Note:
Given n will always be valid.
Try to do this in one pass.
思路:用两个指针,让它们相隔n,当后一个指针指到最尾端时,前一个刚好指到我们需要删除的点。不过要一个额外的指针记录删除点的前一个节点。还需要考虑到删除头结点和末尾节点的情况。
/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: ListNode *removeNthFromEnd(ListNode *head, int n) { ListNode *mark = NULL; ListNode *tmp = head; ListNode *del = head; if (!head||!head->next) return NULL; for(int i=0; i<n-1; i++) tmp = tmp->next; while(tmp->next){ mark = del; del = del->next; tmp = tmp->next; } if (mark==NULL){ head=del->next; delete del; } else{ mark->next = del->next; delete del; } return head; }};
0 0
- 【Leetcode长征系列】Remove Nth Node From End of List
- LeetCode[Linked List]: Remove Nth Node From End of List
- 19. Remove Nth Node From End of List leetcode list
- [Leetcode]LeetCode 19:Remove Nth Node From End of List
- LeetCode: Remove Nth Node From End of List
- LeetCode: Remove Nth Node From End of List
- [Leetcode] Remove Nth Node From End of List
- LeetCode: Remove Nth Node From End of List
- leetcode 40: Remove Nth Node From End of List
- [LeetCode] Remove Nth Node From End of List
- Leetcode 19 Remove Nth Node From End of List
- [Leetcode] Remove Nth Node From End of List
- [LeetCode]Remove Nth Node From End of List
- LeetCode-Remove Nth Node From End of List
- [LeetCode] Remove Nth Node From End of List
- LeetCode 19: Remove Nth Node From End of List
- LeetCode - Remove Nth Node From End of List
- LeetCode | Remove Nth Node From End of List
- php图片压缩
- Java.lang.OutOfMemoryError是什么
- hdoj.1040 As Easy As A+B 20140722
- 暑期个人赛--第三场--E(待A....)
- Linux内核态抢占机制分析
- 【Leetcode长征系列】Remove Nth Node From End of List
- 逆序数 之 hdu 1394 Minimum Inversion Number
- quick-cocos2d-x开发环境搭建
- C++中static要点总结
- 安装GTK+3在Ubuntu 14.04
- SPinner的动态填充和级联
- ThinkPHP学习之windows下安装并运行Hello World
- Android View的绘制高级篇 一(折线图,圆弧图,柱状图)
- Dex Loader: Unable to execute dex: Multiple dex files define Landroid/support/v4/accessibilityservi