当前位置:   article > 正文

指定区间的链表反转问题|力扣leetcode92反转链表2(cpp、Java实现)_链表内指定区间翻转 递归

链表内指定区间翻转 递归

leetcode92 反转链表2

题目介绍:

给你单链表的头指针 head 和两个整数 left 和 right ,其中 left <= right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表

题目来源:

力扣

反转的整体思想是,在需要反转的区间里,每遍历到一个节点,让这个新节点来到反转部分的起始位置。

方法一:头插法

方法一的缺点是:如果 left 和 right 的区域很大,恰好是链表的头节点和尾节点时,找到 left 和 right 需要遍历一次,反转它们之间的链表还需要遍历一次,虽然总的时间复杂度为 O(N),但遍历了链表 2次

初始状态: pre_node -> curr_node -> next_node

反转后的状态: pre_node <- curr_node next_node

举个栗子
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/209458

推荐阅读
相关标签