linkedlist怎么指定位置添加元素

小億
145
2024-01-30 16:24:24

要在鏈表的指定位置添加元素,可以按照以下步驟進(jìn)行操作:

1. 創(chuàng)建一個(gè)新的節(jié)點(diǎn),將要插入的元素賦值給新節(jié)點(diǎn)的值。

2. 遍歷鏈表,找到要插入的位置的前一個(gè)節(jié)點(diǎn)??梢允褂靡粋€(gè)指針來(lái)遍歷鏈表,直到找到目標(biāo)位置的前一個(gè)節(jié)點(diǎn)。

3. 將新節(jié)點(diǎn)的next指針指向目標(biāo)位置的前一個(gè)節(jié)點(diǎn)的next指針?biāo)赶虻墓?jié)點(diǎn)。

4. 將目標(biāo)位置的前一個(gè)節(jié)點(diǎn)的next指針指向新節(jié)點(diǎn)。

下面是一個(gè)示例代碼實(shí)現(xiàn):

```java

public class ListNode {

int val;

ListNode next;

ListNode(int val) {

this.val = val;

}

}

public ListNode insert(ListNode head, int position, int value) {

if (position < 0) { // 位置小于0時(shí),直接返回原鏈表

return head;

}

ListNode newNode = new ListNode(value);

if (position == 0) { // 插入位置是鏈表頭部

newNode.next = head;

head = newNode;

} else {

ListNode prev = head;

int count = 0;

while (count < position - 1 && prev != null) { // 找到要插入位置的前一個(gè)節(jié)點(diǎn)

prev = prev.next;

count++;

}

if (prev != null) { // 找到位置,將新節(jié)點(diǎn)插入

newNode.next = prev.next;

prev.next = newNode;

}

}

return head;

}

```

這樣,就可以在鏈表的指定位置插入元素了。

0