删除链表的倒数第n个节点
删除链表的倒数第n个节点
https://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6?tpId=196&&tqId=37084&rp=1&ru=/ta/job-code-total&qru=/ta/job-code-total/question-ranking
主要注意的是倒数第n个节点可能是第1个节点,这个时候要分开讨论
public ListNode removeNthFromEnd (ListNode head, int n) { // write code here int cnt = 0; ListNode rHead=head; ListNode res=head; while(head!=null){ cnt++; if(cnt>n){ ListNode pre=rHead; rHead=rHead.next; if(head.next==null) { pre.next=rHead.next; return res; } } head=head.next; } //删除的是第一个节点 return res.next; }