反转链表

反转链表

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

示例 1:

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

示例 2:

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

示例 3:

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

题解:

go 复制代码
/**
 * Definition for singly-linked list.
 * type ListNode struct {
 *     Val int
 *     Next *ListNode
 * }
 */
func reverseList(head *ListNode) *ListNode {
    if head == nil || head.Next == nil {
        return head
    }
    newhead := reverseList(head.Next)
    head.Next.Next = head
    head.Next = nil
    return newhead
}
相关推荐
澈20721 小时前
C++引用与指针:核心区别全解析
开发语言·数据结构·c++
迷途之人不知返21 小时前
deque的简单认识
数据结构·c++
上弦月-编程21 小时前
指针编程:高效内存管理核心
java·数据结构·算法
xieliyu.21 小时前
Java手搓数据结构:栈与队列模拟实现
java·数据结构·学习
人道领域1 天前
【数据结构与算法分析】二叉树面试通关手册:遍历图解 · 分类对比 · 代码模板
数据结构·算法·leetcode·深度优先
.5481 天前
Two Pointers(双指针)
java·数据结构·算法
li1670902701 天前
第二十五章:C++11(下)
c语言·开发语言·数据结构·c++
承渊政道1 天前
【动态规划算法】(回文串问题解题框架与经典案例)
数据结构·c++·学习·算法·leetcode·动态规划·哈希算法
qyzm1 天前
Codeforces Round 1073 (Div. 2)
数据结构·python·算法
jieyucx1 天前
Go 零基础数据结构:链表的增删改查(像串珠子一样简单)
数据结构·链表·golang