7.使用LinkedList。自己练习一道题,使用LinkedList常用的方法。代码
时间: 2024-03-10 13:48:57 浏览: 43
list用法,很常用的
好的,这里提供一个使用LinkedList解决的题目:反转链表。
题目描述:给定一个单向链表的头节点head,将其翻转并返回新的头节点。
示例:
```
输入:1 -> 2 -> 3 -> 4 -> 5 -> null
输出:5 -> 4 -> 3 -> 2 -> 1 -> null
```
思路:使用三个指针prev、cur、next,分别指向前一个节点、当前节点和后一个节点,每次将cur的next指向prev,然后依次向后移动指针。
代码实现:
```java
public ListNode reverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode prev = null;
ListNode cur = head;
ListNode next = head.next;
while (cur != null) {
cur.next = prev;
prev = cur;
cur = next;
if (next != null) {
next = next.next;
}
}
return prev;
}
```
其中ListNode是自定义的链表节点类,具体实现如下:
```java
public class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
}
}
```
阅读全文