色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java鏈表的頭插法和尾插法

劉若蘭1年前7瀏覽0評論

Java中鏈表是一種常用的數(shù)據(jù)結(jié)構(gòu),它可以動態(tài)地添加和刪除節(jié)點(diǎn),有兩種主要的插入方法:頭插法和尾插法。

頭插法

頭插法是指將新節(jié)點(diǎn)插入到鏈表的頭部,這樣新節(jié)點(diǎn)成為了鏈表的第一個節(jié)點(diǎn),原來的鏈表成為新節(jié)點(diǎn)的后繼節(jié)點(diǎn),實現(xiàn)代碼如下:

public ListNode insertHead(ListNode head, int val) {
ListNode newNode = new ListNode(val);
if (head == null) {
head = newNode;
} else {
newNode.next = head;
head = newNode;
}
return head;
}

其中,ListNode是鏈表的一個節(jié)點(diǎn)類,head是鏈表的頭節(jié)點(diǎn),val是要插入的新節(jié)點(diǎn)的值。

尾插法

尾插法是指將新節(jié)點(diǎn)插入到鏈表的尾部,這樣新節(jié)點(diǎn)成為了鏈表的最后一個節(jié)點(diǎn),原來的鏈表成為新節(jié)點(diǎn)的前驅(qū)節(jié)點(diǎn),實現(xiàn)代碼如下:

public ListNode insertTail(ListNode head, int val) {
ListNode newNode = new ListNode(val);
if (head == null) {
head = newNode;
} else {
ListNode tail = head;
while (tail.next != null) {
tail = tail.next;
}
tail.next = newNode;
}
return head;
}

其中,head是鏈表的頭節(jié)點(diǎn),val是要插入的新節(jié)點(diǎn)的值,ListNode是鏈表的一個節(jié)點(diǎn)類。我們先判斷鏈表是否為空,如果是,則將新節(jié)點(diǎn)作為頭節(jié)點(diǎn)返回就行了;如果不是,則遍歷鏈表,找到最后一個節(jié)點(diǎn),然后將新節(jié)點(diǎn)插入到最后一個節(jié)點(diǎn)的后面即可。