前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >算法练习(10) - 反转链表(O(n))

算法练习(10) - 反转链表(O(n))

作者头像
惊羽-布壳儿
发布2022-06-15 16:06:39
1450
发布2022-06-15 16:06:39
举报
文章被收录于专栏:惊羽-布壳儿
代码语言:javascript
复制
class Solution {
    public ListNode reverseList(ListNode head) {
	ListNode temp = null;
	ListNode res = null;
        while(head != null){
		// 3. 缓存结果指针
		temp = res;
		// 2. 缓存头删指针
		res = head;
		// 1. 头删
 		head = head.next;      		
		// 4. 头插
		res.next = temp;
	}
        return res;
    }
}

思路 : 首先是1. 头删 ,头删之前需要把头结点给到结果指针,这样才能头插 ,于是 2. 缓存头删指针 但是返回指针如果指引到最新的头插节点,那么上次头插的结果会丢失,所以需要先将返回指针指向的节点引用缓存起来 ,于是 3. 缓存结果指针 ,最后 4. 头插 将结果指针指向的最新节点 头插到老的 返回头结点上;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档