手写代码:反转链表 (Java 版)
发布于 2020-01-31 16:16:17
关注者
0
被浏览
737
1 个回答
-
参考回答:
public class ListNode { public int data; public ListNode next; } public ListNode reverseList(ListNode pHead){ ListNode pReversedHead = null; //反转过后的单链表存储头结点 ListNode pNode = pHead; //定义pNode指向pHead; ListNode pPrev = null; //定义存储前一个结点 while(pNode != null){ ListNode pNext = pNode.next; //定义pNext指向pNode的下一个结点 if(pNext==null){ //如果pNode的下一个结点为空,则pNode即为结果 pReversedHead = pNode; } pNode.next = pPrev; //修改pNode的指针域指向pPrev pPrev = pNode; //将pNode结点复制给pPrev pNode = pNext; //将pNode的下一个结点复制给pNode } return pReversedHead; }