• 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;
        
    };
  • 相关阅读:
    Log4Net记录到MySql
    创建快照
    grep的用法(CentOS7)及有关正则表达式的使用
    samba
    mkdir
    raid0和raid5的 实验过程
    route
    source和sh执行脚本时的差异
    echo命令的简单用法和实例
    smbpasswd和pdbedit
  • 原文地址:https://www.cnblogs.com/xingguozhiming/p/10707305.html
Copyright © 2020-2023  润新知