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; } }
这个示例展示了如何创建一个链表,对其进行操作(如添加、删除和查找元素),并打印链表。你可以根据需要修改和扩展这个示例。