侧边栏壁纸
博主头像
buukle博主等级

布壳儿

  • 累计撰写 106 篇文章
  • 累计创建 15 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

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

administrator
2021-06-22 / 0 评论 / 0 点赞 / 328 阅读 / 542 字
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. 头插 将结果指针指向的最新节点 头插到老的 返回头结点上;

0

评论区