写点什么

[Day16]-[链表] 反转链表

作者:方勇(gopher)
  • 2022 年 4 月 15 日
  • 本文字数:556 字

    阅读完需:约 2 分钟

206. 反转链表

难度简单 2445 收藏分享切换为英文接收动态反馈

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

 

示例 1:


输入:head = [1,2,3,4,5]输出:[5,4,3,2,1]
复制代码

示例 2:


输入:head = [1,2]输出:[2,1]
复制代码

示例 3:

输入:head = []输出:[]
复制代码


题解:

/** * Definition for singly-linked list. * type ListNode struct { *     Val int *     Next *ListNode * } */func reverseList(head *ListNode) *ListNode {	var solution func(head *ListNode) *ListNode	solution = func(head *ListNode) *ListNode {		var new *ListNode		current := head		for current != nil {			next := current.Next			current.Next, new = new, current			current = next		}		return new	}    return solution(head)}
复制代码


func TestReverseList(t *testing.T) {	var solution func(head *ListNode) *ListNode	solution = func(head *ListNode) *ListNode {		new := &ListNode{} // 重新初始化新链表		for head != nil {			current := &ListNode{ // 新增一个节点				Val:  head.Val,				Next: nil,			}			// 0->1->2			// 0->2 => 1->0			current.Next = new.Next			new.Next = current			head = head.Next		}		return new.Next	}	t.Log(solution(GetListNode()))}
复制代码


用户头像

Dead or Alive. 生存战斗是知识的源泉! 2018.11.08 加入

我是一名SRE哨兵,目前是好大夫基础架构部高级工程师。专注于 SRE,微服务、中间件的稳定性和可用性建设,整体负责好大夫服务治理云平台的设计和搭建!

评论

发布
暂无评论
[Day16]-[链表]反转链表_LeetCode_方勇(gopher)_InfoQ写作平台