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