1.创建一个空节点res,将head置与其后面 2.记录反转区间的第一个节点和其前一个节点 1 2 3. 对反转区间的元素进行反转 4.将反转后剩下的的节点(4 5)与步骤2的两个节点连接 5.返回res.next(存res的目的是实现在head也被反转的情况下也可以从头输出) /** * Definition for singly-linked list. * struct...
链接:https://leetcode-cn.com/problems/reverse-linked-list-ii 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 /** 想到两种方法: - 一种先把[left, right]间的值放到数组里,反转数组,然后再遍历链表, 将反转后的值赋回链表节点 - 保存几个特殊的节点值:头结点、left节点的前一个...
3、第二个for循环,操作prev和cur,一边移动位置,一边反转节点指向。 其中指向改变了(right - left)次,第二个for循环终点时prev处于right位置,cur处于right.next位置。 第二个for循环完成之后链表中各个节点的指向是下面这样的 4、重新画一下图,看一下现在的链表指向 5、temp.next.next = cur 6、temp.next = ...
<img alt="" src="https://assets.leetcode.com/uploads/2021/02/19/rev2ex2.jpg" style="width: 542px; height: 222px;" /> <pre> <strong>输入:</strong>head = [1,2,3,4,5], left = 2, right = 4 <strong>输出:</strong>[1,4,3,2,5] </pre> <p><strong>示例 2:</strong><...
s=Solution() s.reverseBetween(n1,2,4) printListNode(n1) 具体过程: 初始状态: 进入第一个while循环之后: 之后定义两个链接指针,p1,p2 进入第二个while循环: 第一步: 第二步: 第三步: 此时退出循环。 然后p1.next指向prev,p2.next指向cur
LeetCode 206题 反转链表 题目描述: 反转一个单链表。 涉及内容:链表 示例: 输入:1->2->3->4->5->NULL 输出:5->4->3->2->1->NULL 思路: 提交结果: 完整代码: # Definition for singly-linked list.# class ListNode:# def __init__(self, val=0, next=None):# self.val = val# self.ne...
LeetCode(206):反转单向链表 题目描述: 定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点 示例: 输入: 1->2->3->4->NULL 输出: 4->3->2->1->NULL 双指针法 定义两个指针cur,pre(一左一右) 初始化cur为空,初始化pre指向头节点...