码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode 24. Swap Nodes in Pairs

时间:2019-12-15 10:33:41      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:fun   节点   dex   链表   next   leetcode   head   wap   index   

对链表的相邻节点两两交换

var swapPairs = function(head) {
    var dummy = new ListNode;
    dummy.next = head;
    var prev = dummy
    while(head && head.next){
       var arr = swap(prev, head, head.next, head.next.next)
       prev = arr[0]
       head = arr[1]
    }
    return dummy.next
};

function swap(a, b, c, d){  
    a.next = c
    c.next = b;
    b.next = d;
   
    return [b, d]
    //a    c  b  d
    //dummy
}

数组方法构建

var swapPairs = function(node) {
    var nodes = [], dummy = new ListNode, prev = dummy
    var map = {}, index = 0
    while(node){
       if(node.next){
          nodes.push(node.next, node)
          node = node.next.next //连续跳两步
       }else{
          nodes.push(node)
          break
       }
    }
    for(var i = 0, el = null; i < nodes.length; i++){
         el = nodes[i];
         prev = prev.next = el
    }
    Object(el).next = null
    
    return dummy.next
};

leetcode 24. Swap Nodes in Pairs

标签:fun   节点   dex   链表   next   leetcode   head   wap   index   

原文地址:https://www.cnblogs.com/rubylouvre/p/12041739.html

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