码迷,mamicode.com
首页 > Web开发 > 详细

143. Reorder List(js)

时间:2019-06-15 21:58:20      阅读:201      评论:0      收藏:0      [点我收藏+]

标签:||   ace   fast   ast   代码   example   val   modify   倒数   

143. Reorder List

Given a singly linked list LL0→L1→…→Ln-1→Ln,
reorder it to: L0→LnL1→Ln-1→L2→Ln-2→…

You may not modify the values in the list‘s nodes, only nodes itself may be changed.

Example 1:

Given 1->2->3->4, reorder it to 1->4->2->3.

Example 2:

Given 1->2->3->4->5, reorder it to 1->5->2->4->3.
题意:对链表重新排列,倒数第i个节点接在第i个节点之后
代码如下:
/**
 * Definition for singly-linked list.
 * function ListNode(val) {
 *     this.val = val;
 *     this.next = null;
 * }
 */
/**
 * @param {ListNode} head
 * @return {void} Do not return anything, modify head in-place instead.
 */
var reorderList = function(head) {
    if(!head || !head.next || !head.next.next) return;
    let slow=head,fast=head;
    while(fast.next && fast.next.next){
        slow=slow.next;
        fast=fast.next.next;
    }
    let mid=slow.next;
    slow.next=null;
    let last=mid,pre=null;
    while(last){
        let next=last.next;
        last.next=pre;
        pre=last;
        last=next;
    }
    while(head && pre){
        let next=head.next;
        head.next=pre;
        pre=pre.next;
        head.next.next=next;
        head=next;
    }
};

 

143. Reorder List(js)

标签:||   ace   fast   ast   代码   example   val   modify   倒数   

原文地址:https://www.cnblogs.com/xingguozhiming/p/11028965.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!