[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()))}复制代码
划线
评论
复制
发布于: 刚刚阅读数: 6
方勇(gopher)
关注
Dead or Alive. 生存战斗是知识的源泉! 2018.11.08 加入
我是一名SRE哨兵,目前是好大夫基础架构部高级工程师。专注于 SRE,微服务、中间件的稳定性和可用性建设,整体负责好大夫服务治理云平台的设计和搭建!










评论