如题
删除倒数第n个元素即将倒数第n+1个元素的next指向倒数第n-1个即可,直观做法先遍历得到node个数,然后找倒数第n+1个元素
public static ListNode removeNthFromEnd(ListNode head, int n){
int index =0;
ListNode node=head;
while(node!=null){//获取元素个数
node=node.next;
index++;
}
if(index ==n){//即删除第一个
return head.next;
}
node =head;
while(index!=n+1){//找到倒数第n+1个元素
node=node.next;
index--;
}
if(node.next.next!=null){//不是删除最后一个元素
node.next=node.next.next;
}else {
node.next=null;
}
return head;
}
结果