使用递归来实现链表反转Java
时间: 2023-02-09 07:45:15 浏览: 117
java 用递归实现字符串反转
5星 · 资源好评率100%
链表反转可以使用递归的方法来实现。
算法流程:
- 递归到链表的最后一个节点。
- 将最后一个节点的 next 指针指向倒数第二个节点。
- 将倒数第二个节点的 next 指针指向倒数第三个节点。
- ……
- 将第一个节点的 next 指针指向 null。
Java 代码如下:
```java
class Node {
int data;
Node next;
Node(int data) {
this.data = data;
}
}
class LinkedList {
Node head;
void reverseList() {
head = reverseList(head);
}
Node reverseList(Node current) {
if (current == null || current.next == null) {
return current;
}
Node nextNode = current.next;
current.next = null;
Node reversedList = reverseList(nextNode);
nextNode.next = current;
return reversedList;
}
}
```
请注意这只是一个简单的示例,实际项目中可能需要考虑边界条件的处理。
阅读全文