首页 > 其他 > 详细

反装链表

时间:2020-08-07 12:39:27      阅读:89      评论:0      收藏:0      [点我收藏+]

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL

解法:

1、定义两个指针: prepre 和 curcur ;prepre 在前 curcur 在后。
2、每次让 prepre 的 nextnext 指向 curcur ,实现一次局部反转
3、局部反转完成之后, prepre 和 curcur 同时往前移动一个位置
4、循环上述过程,直至 prepre 到达链表尾

      技术分享图片

 1 /*反转链表*/
 2     public ListNode reverseList(ListNode head) {
 3         ListNode cur = null, pre = head;
 4         while (pre != null) {
 5             ListNode nextNode = pre.next;
 6             pre.next = cur;
 7             cur = pre;
 8             pre = nextNode;
 9         }
10         return cur;
11     }

 

反装链表

原文:https://www.cnblogs.com/0error0warning/p/13451796.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!