zoukankan      html  css  js  c++  java
  • 92. Reverse Linked List II(js)

    92. Reverse Linked List II

    Reverse a linked list from position m to n. Do it in one-pass.

    Note: 1 ≤ m ≤ n ≤ length of list.

    Example:

    Input: 1->2->3->4->5->NULL, m = 2, n = 4
    Output: 1->4->3->2->5->NULL
    题意:对链表从起始位置和终止位置进行翻转
    代码如下:
    /**
     * Definition for singly-linked list.
     * function ListNode(val) {
     *     this.val = val;
     *     this.next = null;
     * }
     */
    /**
     * @param {ListNode} head
     * @param {number} m
     * @param {number} n
     * @return {ListNode}
     */
    var reverseBetween = function(head, m, n) {
        let start = new ListNode(-1);
        start.next=head;
        let cur=start;
        let pre,front,last;
        for(let i=1;i<=m-1;i++) cur=cur.next;
        pre=cur;
        last=cur.next;
        for(let i=m;i<=n;i++){
            cur=pre.next;
            pre.next=cur.next;
            cur.next=front;
            front=cur;
        }
        cur=pre.next;
        pre.next=front;
        last.next=cur;
        return start.next;
        
    };
  • 相关阅读:
    红黑树-插入篇
    并查集
    Rabin-Karp【转载】
    KMP
    怎样花两月时间去应聘互联网公司 [转载]
    c++ 智能指针【转载】
    java序列化
    Web页面导出Excel表格
    基于jquery-UI的日期选择器
    Doc命令
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/10707305.html
Copyright © 2011-2022 走看看