定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。
示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/fan-zhuan-lian-biao-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
- # (1)->(2)-(3)
//思考一下要将后节点指向前节点
//首先我们先获取(前节点)对象和(后节点)对象
//我们定义 一个last 节点 用来保存前节点
public ListNode reverseList(ListNode head) {
ListNode last=null;//保存当前节点 反转后的头节点
// 在定义一个 first 节点保存后节点
ListNode first=null;
// 遍历整个链表
while(head!=null){
first=head.next; //保存当前节点的下一个节点
//由于链表是引用类型所以我们可以直接修改head的指向
head.next=last;//将后一个节点指向前一节点
last=head; //保存当前节点
head=first;//指针下一个节点
}
return last;