本文最后更新于 316 天前,其中的信息可能已经有所发展或是发生改变,请谨慎参考。
原题链接: 206. 反转链表
给你单链表的头节点 head
,请你反转链表,并返回反转后的链表。
示例 1:
| 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] |
示例 2:
示例 3:
提示:
- 链表中节点的数目范围是
[0, 5000]
-5000 <= Node.val <= 5000
| // 反转链表 class ListNode { int val; ListNode next; ListNode() {} ListNode(int val) { this.val = val; } ListNode(int val, ListNode next) { this.val = val; this.next = next; } } public ListNode reverseList(ListNode head) { // 初始化前一个节点为null ListNode prev = null; // 初始化当前节点为头节点 ListNode current = head; // 当当前节点不为空时,继续循环 while (current != null) { // 保存当前节点的下一个节点 ListNode nextTemp = current.next; // 将当前节点的下一个节点指向前一个节点 current.next = prev; // 前一个节点指向当前节点 prev = current; // 当前节点指向下一个节点 current = nextTemp; } // 返回前一个节点 return prev; } |
首先初始化两个指针,一个指向前一个节点,一个指向当前节点。然后,它在一个循环中不断地将当前节点的下一个节点指向前一个节点,然后将前一个节点和当前节点向后移动,直到遍历完所有的节点。
您当前正在 -
https://icu007.work/archives/554 .页面,阅读由“Rookie_L” 撰写的《数据结构与算法打卡-Day07》
非常感谢您对我们的网站感兴趣并访问。在您使用本网站之前,请您仔细阅读本声明的所有条款。
版权声明:
1、本博客属个人所有,不涉及商业目的;
2、本博客内容均为本人编写,图片版权属于原作者,图片仅供大家欣赏和分享,切勿做为商业目的使用。如果侵害了您的合法权益,请您及时与我联系,我会在第一时间删除相关内容;
3、本博客所有原创作品,包括文字、资料、图片、网页格式,转载时请标注作者与来源。非经允许,不得用于盈利目的;
4、本博客受中国知识产权、互联网法规和知识共享条例保护和保障,任何人不得进行旨在破坏或牟取私利的行为;
5、做新时代合格网民,弘扬互联网精神:开放、平等、 协作 、分享;共同构建文明、清朗的网络环境;
6、本声明未涉及的问题参见国家有关法律法规,当本声明与国家法律法规冲突时,以国家法律法规为准;
7、当您阅读到这里的时候,即表明已阅读并接受了上述各项条款。