反转链表

反转链表

给你单链表的头节点 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
}
相关推荐
南宫生2 小时前
力扣-Hot100-二叉树其一【算法学习day.32】
数据结构·学习·算法·leetcode
鸣弦artha3 小时前
蓝桥杯——数组
java·数据结构·算法·蓝桥杯·eclipse·排序算法
算你狠 - ZGX4 小时前
软件设计师 - 第3章 数据结构
数据结构·软件设计师
析木不会编程4 小时前
【数据结构】【线性表】循环链表(附C语言源码)
c语言·数据结构·链表
孤寂码农_defector5 小时前
C++清除所有输出【DEV-C++】所有编辑器通用 | 算法基础NO.1
数据结构·c++·算法·编辑器
菜喵一只5 小时前
计算2的N次方
数据结构·算法
OKkankan6 小时前
单链表算法题(数据结构)
c语言·数据结构·数据库·c++·算法
yangmc049 小时前
判断子序列
开发语言·数据结构·c++·算法·矩阵·图论
席万里10 小时前
C++图案例大全
数据结构·c++·算法