ListNode 是鏈表數據結構中的一個節點類,通常用于表示鏈表中的一個元素。在 Java 中,你可以創建一個名為 ListNode 的類,如下所示:
public class ListNode {
int val; // 節點的值
ListNode next; // 指向下一個節點的指針
// 構造方法
public ListNode(int val) {
this.val = val;
this.next = null;
}
}
要使用 ListNode 類,你可以創建一個鏈表并對其進行操作,例如添加元素、刪除元素、查找元素等。以下是一些示例:
public class Main {
public static void main(String[] args) {
// 創建鏈表 1 -> 2 -> 3 -> 4 -> 5
ListNode head = new ListNode(1);
head.next = new ListNode(2);
head.next.next = new ListNode(3);
head.next.next.next = new ListNode(4);
head.next.next.next.next = new ListNode(5);
// 打印鏈表
System.out.println("鏈表:");
printList(head);
// 添加元素 0 到鏈表頭部
head = addElement(head, 0);
System.out.println("添加元素 0 后的鏈表:");
printList(head);
// 刪除元素 3
head = deleteElement(head, 3);
System.out.println("刪除元素 3 后的鏈表:");
printList(head);
// 查找值為 4 的節點
ListNode node = findElement(head, 4);
if (node != null) {
System.out.println("找到值為 4 的節點,值為:" + node.val);
} else {
System.out.println("未找到值為 4 的節點");
}
}
// 在鏈表頭部添加元素
public static ListNode addElement(ListNode head, int val) {
ListNode newNode = new ListNode(val);
newNode.next = head;
return newNode;
}
// 刪除鏈表中指定值的節點
public static ListNode deleteElement(ListNode head, int val) {
if (head == null) {
return null;
}
if (head.val == val) {
return head.next;
}
ListNode current = head;
while (current.next != null && current.next.val != val) {
current = current.next;
}
if (current.next != null) {
current.next = current.next.next;
}
return head;
}
// 打印鏈表
public static void printList(ListNode head) {
ListNode current = head;
while (current != null) {
System.out.print(current.val + " -> ");
current = current.next;
}
System.out.println("null");
}
// 查找鏈表中指定值的節點
public static ListNode findElement(ListNode head, int val) {
ListNode current = head;
while (current != null) {
if (current.val == val) {
return current;
}
current = current.next;
}
return null;
}
}
這個示例展示了如何創建一個鏈表,對其進行操作(如添加、刪除和查找元素),并打印鏈表。你可以根據需要修改和擴展這個示例。