import java.util.*; /* * public class ListNode { * int val; * ListNode next = null; * public ListNode(int val) { * this.val = val; * } * } */ public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param head ListNode类 * @param n int整型 * @return ListNode类 */ public ListNode moveNthToEnd (ListNode head, int n) { // write code here ListNode cur = head, p = head; for(int i = 1; i <= n-1; i++){ p = p.next; } ListNode pre = null; while(p.next != null){ pre = cur; p = p.next; cur = cur.next; } if(pre != null){ p.next = cur; pre.next = cur.next; cur.next = null; }else{ p.next = cur; head = cur.next; cur.next = null; } return head; } }
双指针