题目:定义一个函数,输入一个链表的头结点,反转该链表并输出反转后链表的头结点。
代码实现:
尾插法
/*
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}*/
public class Solution {
public ListNode ReverseList(ListNode head) {
if(head == null) {
return null;
}
ListNode node = head.next;
ListNode tail = head;
head.next = null;
//尾插法
while(node != null) {
ListNode tmp = node.next;
node.next = tail;
tail = node;
node = tmp;
}
return tail;
}
}
本文介绍了一种使用尾插法实现的链表反转算法。通过迭代地改变每个节点的next指针,将原链表反转,并返回新的头节点。此方法简单高效,适用于多种链表应用场景。
433

被折叠的 条评论
为什么被折叠?



