链表篇
思路:
先走一遍记录链表长度
再走到对应的点,然后删除
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode() {}
* ListNode(int val) { this.val = val; }
* ListNode(int val, ListNode next) { this.val = val; this.next = next; }
* }
*/
class Solution {
public ListNode removeNthFromEnd(ListNode head, int n) {
//哨兵节点
ListNode dummy =new ListNode(0,head);
int length=0;
ListNode temp=head;
while(temp!=null){
length++;
temp=temp.next;
}
ListNode cur=dummy;
for(int i=1;i<length-n+1;i++){
cur=cur.next;
}
cur.next=cur.next.next;
return dummy.next;
}
}