JAVA原地转置单链表的代码
时间: 2024-10-25 11:03:54 浏览: 21
Java 实现矩阵转置(源代码)
在 Java 中,原地转置单链表意味着我们不需要额外的空间,只需要通过节点之间的引用改变来达到链表翻转的效果。下面是一个简单的递归实现:
```java
public class ListNode {
int val;
ListNode next;
ListNode(int x) {
val = x;
next = null;
}
}
public ListNode reverseList(ListNode head) {
if (head == null || head.next == null) { // base case: 空链表或只有一个元素的链表
return head;
}
// 递归部分:将头结点的next指向下个结点,然后递归处理剩余部分
ListNode temp = reverseList(head.next);
head.next.next = head; // 将head.next指向原来的head,完成一次反转
head.next = null; // 更新head,使其不再指向原链表
return temp; // 返回新的头结点,即原链表的最后一个元素
}
```
阅读全文