Remove Nth Node From End of List

来源:互联网 发布:java rsa加密 编辑:程序博客网 时间:2024/05/18 14:23
Problem: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.

public static ListNode removeNthFromEnd(ListNode head, int n) {ListNode fast=head,slow=head;for(int i=0;i<n;i++)fast=fast.next;if(fast==null){//处理头结点head=head.next;return head;}while(fast.next!=null){fast=fast.next;slow=slow.next;}slow.next=slow.next.next;return head;}


0 0
原创粉丝点击