Java实现链表的创建,首插入,尾删除,以及在初始化的链表中查找输入的整数X是否在链表中存在。如果存在,输出:T,否则输出F。
时间: 2024-10-14 17:12:09 浏览: 8
在Java中,我们可以使用`LinkedList`或自定义链表节点类来实现链表的基本操作。这里我将展示如何使用自定义节点和链表结构来完成这些任务。
首先,定义一个`ListNode`类作为链表节点:
```java
class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
```
然后,我们可以创建一个`LinkedList`类,实现链表的操作:
```java
class LinkedList {
private ListNode head;
// 链表构造函数
LinkedList() {
head = null;
}
// 在链表头部插入元素
public void insertAtStart(int x) {
ListNode newNode = new ListNode(x);
newNode.next = head;
head = newNode;
}
// 在链表尾部插入元素
public void insertAtEnd(int x) {
if (head == null) {
head = new ListNode(x);
} else {
ListNode temp = head;
while (temp.next != null) {
temp = temp.next;
}
temp.next = new ListNode(x);
}
}
// 删除链表尾部的元素
public void deleteLast() {
if (head == null || head.next == null) {
head = null;
return;
}
ListNode temp = head;
while (temp.next.next != null) {
temp = temp.next;
}
temp.next = null;
}
// 查找元素x是否存在
public boolean contains(int x) {
ListNode current = head;
while (current != null) {
if (current.val == x) {
return true;
}
current = current.next;
}
return false;
}
}
// 使用示例
public static void main(String[] args) {
LinkedList list = new LinkedList();
list.insertAtStart(1); // 插入1
list.insertAtStart(2); // 插入2
list.insertAtEnd(3); // 插入3
System.out.println(list.contains(2)); // 输出:true
list.deleteLast(); // 删除3
System.out.println(list.contains(3)); // 输出:false
}
```
阅读全文