Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Definition for singly-linked list.
- * struct ListNode {
- * int val;
- * ListNode *next;
- * ListNode(int x) : val(x), next(NULL) {}
- * };
- */
- class Solution {
- public:
- int Length(ListNode *l) {
- int count = 0;
- ListNode *p = l;
- while (p != NULL) {
- count++;
- p = p->next;
- }
- return count;
- }
- ListNode* removeNthFromEnd(ListNode* head, int n) {
- ListNode *pre_remove = head, *remove;
- int length = Length(head);
- if (length - n == 0) {
- return pre_remove->next;
- }
- int flg = 1;
- while (flg < length - n) {
- pre_remove = pre_remove->next;
- flg++;
- }
- remove = pre_remove->next;
- pre_remove->next = remove->next;
- remove = NULL;
- return head;
- }
- };
Add Comment
Please, Sign In to add comment