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

LeetCode Remove Nth Node From End of List

2014-10-24 11:46 141 查看
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.

/**
* 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) {
ArrayList<ListNode> list=new ArrayList<>();
ListNode node=head;
int index=0;
while (node != null) {
list.add(node);
node=node.next;
}
index=list.size()-n;
if (index ==0) {
return head.next;
}
if (index==list.size()-1) {
list.get(index-1).next=null;
return head;
}

list.get(index-1).next=list.get(index+1);
return head;

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