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 };
  • 相关阅读:
    java浅谈
    学习心得 六 修改
    学习心得 六
    学习心得 五
    学习心得 四
    学习java心得 三
    学习java心得 二
    学习java心得 一
    学习前言
    课程进展
  • 原文地址:https://www.cnblogs.com/devin-guwz/p/6511594.html
Copyright © 2011-2022 走看看