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

java 單鏈表和雙

阮建安1年前8瀏覽0評論

Java是一種流行的編程語言,常用于開發(fā)Web應用程序。在Java中,鏈表是常用數(shù)據(jù)結構之一,它可以存儲和操作大量數(shù)據(jù)。鏈表分為單鏈表和雙鏈表兩種類型。

單鏈表中,每個節(jié)點只有一個指向下一個節(jié)點的指針。單鏈表是一種非常簡單的數(shù)據(jù)結構,因此常用于快速插入和刪除元素。以下是單鏈表的Java代碼實現(xiàn):

public class ListNode {
int val;
ListNode next;
ListNode(int x) { val = x; }
}
public class Solution {
public ListNode reverseList(ListNode head) {
if(head == null || head.next == null) {
return head;
}
ListNode prev = null;
ListNode curr = head;
while(curr != null) {
ListNode nextNode = curr.next;
curr.next = prev;
prev = curr;
curr = nextNode;
}
return prev;
}
}

雙鏈表中,每個節(jié)點都有兩個指針,一個指向前一個節(jié)點,一個指向后一個節(jié)點。雙鏈表比單鏈表更靈活,因為每個節(jié)點可以同時訪問其前一個節(jié)點和后一個節(jié)點。以下是雙鏈表的Java代碼實現(xiàn):

public class ListNode {
int val;
ListNode prev;
ListNode next;
ListNode(int x) { val = x; }
}
public class Solution {
public ListNode reverseList(ListNode head) {
if(head == null || head.next == null) {
return head;
}
ListNode curr = head;
while(curr != null) {
ListNode temp = curr.next;
curr.next = curr.prev;
curr.prev = temp;
curr = curr.prev;
}
return head;
}
}

無論是單鏈表還是雙鏈表,它們都有自己的優(yōu)缺點。開發(fā)者應該根據(jù)具體的需求來選擇使用哪種數(shù)據(jù)結構。