码迷,mamicode.com
首页 > 其他好文 > 详细

【leetcode】Remove Nth Node From End of List

时间:2015-05-18 14:27:38      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:

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.

 

 1 class Solution {
 2 public:
 3     ListNode *removeNthFromEnd(ListNode *head, int n) {
 4     
 5         int i=0;
 6         int j;
 7           ListNode *s=new ListNode(0);
 8            s->next = head;
 9         ListNode *p=s;
10       
11         //ListNode* dumy = new ListNode(0);
12        
13         ListNode *q=s;
14         //p=head;
15         //q=head;
16    
17         while(i<n)
18         {
19             p=p->next;
20             i++;
21             
22         }
23         
24         while(p->next!=NULL)
25         {
26             p=p->next;
27             q=q->next;
28         }
29 
30         q->next=q->next->next;
31 
32        
33         return s->next;
34     }
35 };

 

【leetcode】Remove Nth Node From End of List

标签:

原文地址:http://www.cnblogs.com/jawiezhu/p/4511709.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!