题解 | #删除链表倒数第n个节点#
删除链表的倒数第n个节点
http://www.nowcoder.com/practice/f95dcdafbde44b22a6d741baf71653f6
这题有点不太喜欢
import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * } */ public class Solution { /** * * @param head ListNode类 * @param n int整型 * @return ListNode类 */ public ListNode removeNthFromEnd (ListNode head, int n) { // write code here ListNode temp = head; int len = 0; while(temp != null){ len++; temp = temp.next; }//遍历得到链表长度 if(len<=1){ return null; } //len-n是需要删除的前一个节点,len-n+2是需要删除的后一个节点 if(len-n>=1){ ListNode temp2 = head; for(int i=0;i<len-n-1;i++){ temp2 = temp2.next; } temp2.next = temp2.next.next; return head; }else{ return head.next; } } }