本文共 850 字,大约阅读时间需要 2 分钟。
题目描述
定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:
输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/fan-zhuan-lian-biao-lcof 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。java
设置三个指针,分别指向:当前节点,当前节点前一个,当前节点后一个/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { public ListNode reverseList(ListNode head) { ListNode pReverseHead=null; ListNode pNode=head; ListNode pPrev=null; while(pNode!=null){ ListNode pNext=pNode.next; if(pNext==null) pReverseHead=pNode; pNode.next=pPrev; pPrev=pNode; pNode=pNext; } return pReverseHead; }}