您的位置:首页 > Web前端 > Node.js

Leetcode[Easy] - Remove Nth Node From End of List

2014-12-30 06:57 302 查看
/**

* Definition for singly-linked list.

* public class ListNode {

* int val;

* ListNode next;

* ListNode(int x) {

* val = x;

* next = null;

* }

* }

*/

public class Solution {

public ListNode removeNthFromEnd(ListNode head, int n) {

ListNode prev,current = head;

int count=0;

while(current != null){

count ++;

current = current.next;

}

int k=count-n;

current = head;

prev = head;

for(int i=0 ; i<k; i++ )

{

prev = current;

current = current.next;

}

if(prev == current)

{

prev = current.next;

head = prev;

}

else

prev.next = current.next;

return head;

}

}

--------

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.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: