package
0.0.0-20230809123828-b071cee2968a
Repository: https://github.com/codehanhan/leetcode-go.git
Documentation: pkg.go.dev

# README

92.反转链表 II

1. 题目描述

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

示例 1:


输入:head = [1,2,3,4,5], left = 2, right = 4
输出:[1,4,3,2,5]

示例 2:


输入:head = [5], left = 1, right = 1
输出:[5]

 

提示:

  • 链表中节点数目为 n
  • 1 <= n <= 500
  • -500 <= Node.val <= 500
  • 1 <= left <= right <= n  

进阶: 你可以使用一趟扫描完成反转吗?

标签 链表

2. 解题

1.先找到待反转位置的头节点和尾节点,然后将该段链表与原链表断开后进行反转,最后将反转后的链表接到原链表上。
2.只遍历一遍链表,在需要反转的区间里,每遍历到一个节点,让这个新节点来到反转部分的起始位置。