要截取鏈表的前n個元素,可以使用雙指針的方法來實現。
具體步驟如下:
以下是一個示例代碼:
public ListNode truncate(ListNode head, int n) {
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode slow = dummy;
ListNode fast = dummy;
for (int i = 0; i < n; i++) {
fast = fast.next;
}
while (fast.next != null) {
slow = slow.next;
fast = fast.next;
}
ListNode newHead = slow.next;
slow.next = null;
return newHead;
}
以上代碼中,ListNode是一個節點類,其中包括一個整型值val和一個指向下一個節點的指針next。truncate方法接收一個頭節點和一個整數n作為參數,返回截取后的鏈表頭節點。