zoukankan      html  css  js  c++  java
  • 19. Remove Nth Node From End of List(C++)

    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.

    Solution :
     1 /**
     2  * Definition for singly-linked list.
     3  * struct ListNode {
     4  *     int val;
     5  *     ListNode *next;
     6  *     ListNode(int x) : val(x), next(NULL) {}
     7  * };
     8  */
     9 class Solution {
    10 public:
    11     ListNode* removeNthFromEnd(ListNode* head, int n) {
    12         ListNode myhead(0);
    13         myhead.next=head;
    14         ListNode *p=&myhead,*q=&myhead;
    15         for(int i=0;i<n;i++) p=p->next;
    16         while(p->next!=NULL){
    17             p=p->next;
    18             q=q->next;
    19         }
    20         q->next=q->next->next;
    21         return myhead.next;
    22     }
    23 };
  • 相关阅读:
    HIHO线段树(成段)
    HIHO 线段树(单点)
    POJ 3468
    HDU 1754
    HDU 1698
    HDU 5119
    HDU 1394
    HDU 1166
    DZY Loves Chessboard
    谷歌Cookies无法写入
  • 原文地址:https://www.cnblogs.com/devin-guwz/p/6511594.html
Copyright © 2011-2022 走看看