首页 > 代码库 > leetcode Remove Nth Node From End of List

leetcode Remove Nth Node From End of List

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.

解法:从后面往前数的第n个
pointerA先从前开始数n个,然后另一个pointerB从开头数,当A到达最后的时候,b就到了合正确的地方
/** * 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 record=new ListNode(0);        record.next=head;        ListNode node=record;        for(int i=0;i<n;i++){            if(head==null){                return null;            }            head=head.next;        }        while(head!=null){            head=head.next;            node=node.next;                    }        node.next=node.next.next;        return record.next;    }}

 

leetcode Remove Nth Node From End of List