用java写一个单项链表的转置程序
时间: 2023-08-04 21:30:51 浏览: 91
好的,这是一个简单的Java单向链表反转的程序:
```java
public class ListNode {
int val;
ListNode next;
ListNode(int val) {
this.val = val;
this.next = null;
}
}
public class Solution {
public ListNode reverseList(ListNode head) {
if (head == null || head.next == null) {
return head;
}
ListNode prev = null;
ListNode curr = head;
while (curr != null) {
ListNode nextTemp = curr.next;
curr.next = prev;
prev = curr;
curr = nextTemp;
}
return prev;
}
}
```
这个程序通过迭代方法反转单向链表。我们首先检查输入链表是否为空或者只有一个元素,如果是,直接返回原链表。否则,定义两个指针prev和curr,分别指向null和head。然后我们迭代链表,每次将curr的next指向prev,然后将prev和curr指针往后移动一位。最后返回prev作为新的头结点即可。
阅读全文