美文网首页
反转链表2

反转链表2

作者: 小白学编程 | 来源:发表于2019-01-30 23:25 被阅读0次

反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。

说明:
1 ≤ m ≤ n ≤ 链表长度。

示例:

输入: 1->2->3->4->5->NULL, m = 2, n = 4
输出: 1->4->3->2->5->NULL

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public ListNode reverseBetween(ListNode head, int m, int n) {
        ListNode dumpy = new ListNode(0);
        dumpy.next = head;
        ListNode pre = null, first = null, temp = dumpy;
        int index = 0;

        while (true) {
            if (index == m - 1) {
                pre = temp;
            }

            if (index == m) {
                first = temp;
                break;
            }

            index++;
            temp = temp.next;
        }
        ListNode last = null, later = null;
        while (true) {
            if (index == n) {
                last = temp;
            }

            if (index == n + 1) {
                later = temp;
                break;
            }

            ListNode behind = temp.next;
            temp.next = later;
            later = temp;
            temp = behind;
            index++;

            
        }

        pre.next = last;
        first.next = later;
        return dumpy.next;
    
    }
}

相关文章

  • 反转链表

    1、定义链表结构 2、链表反转

  • 07-06:链表review1

    链表的常见问题 1、链表反转 1)链表反转 2)每k个一组节点反转 https://leetcode-cn.com...

  • 2019/10/27 链表反转 (递归)

    反转链表 反转链表为 leetcode 206题: 反转一个单链表。示例: 输入: 1->2->3->4->5->...

  • 面试:反转链表

    题目:反转链表要求:定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2...

  • Swift - LeetCode - 反转链表

    题目 给你单链表的头节点 head,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,...

  • Algorithm小白入门 -- 单链表

    单链表递归反转链表k个一组反转链表回文链表 1. 递归反转链表 单链表节点的结构如下: 1.1 递归反转整个单链表...

  • 链表相关的题

    单向链表反转 如1->2->3->4,反转成4->3->2->1反转链表有2种做法,递归和循环。递归写法: 循环写...

  • 算法学习:链表反转

    题目1: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 递归解法: 迭代解法: 题目2: 题...

  • 2022-01-11 206. 反转链表

    给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 示例 2: 示例 3: 提示: 方法一

  • 链表反转

    循环反转链表 递归反转链表

网友评论

      本文标题:反转链表2

      本文链接:https://www.haomeiwen.com/subject/blphsqtx.html