原创

206. 反转链表

206. 反转链表

链接

反转一个单链表。

示例:

输入: 1->2->3->4->5->NULL
输出: 5->4->3->2->1->NULL
/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func reverseList(head *ListNode) *ListNode {
   // prev 是所有已经逆转的节点的head
	var prev *ListNode

	// head 是下一个被逆转的节点
	for head != nil {
		// 让temp指向head.Next, 免得head.Next不见了.
		temp := head.Next
		// head称为已经逆转的节点的新head
		head.Next = prev
		// 让prev重新称为所有已被逆转节点的head
		prev = head
		// 让head指向下一个被逆转的节点
		head = temp
	}

	return prev
}

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 206 反转链表

    反转一个链表和数组是不一样的,因为不能任意取值,只能说按照next的顺序依次往后放。那么把一个节点往后放的过程就是一次迭代

    木瓜煲鸡脚
  • 206. 反转链表

    来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/reverse-linked-list 著作权归领扣网络...

    lucifer210
  • 206. 反转链表

    CaesarChang张旭
  • Leetcode 206. 反转链表

    遍历链表,以 cur 表示当前节点,以 last 表示上一个节点,将 cur 的 next 指针指向 last 即可。

    zhipingChen
  • LeetCode 206. 反转链表

    freesan44
  • leetcode:206 反转链表

    怎么做? 先定义两个变量,为双向指针。一个指向null,一个head,为什么不是一个为1,一个为2。 因为如果这样输出的怎么有null呢,所以一个为null...

    贵哥的编程之路
  • LeetCode | 206.反转链表

    LeetCode 是著名的练习数据结构与算法的网站,很多学习程序设计的人都在刷上面的题来巩固和提高自己的数据结构以及算法的能力。同时,该网站的很多数据结构及算法...

    码农UP2U
  • LeetCode 图解 | 206.反转链表

    今天分享的题目来源于 LeetCode 上第 206 号问题:反转链表。这道题目经常出现在算法面试中的笔试环节。

    五分钟学算法
  • LeetCode 206:反转链表 Reverse Linked List

    A linked list can be reversed either iteratively or recursively. Could you imple...

    爱写bug

扫码关注云+社区

领取腾讯云代金券