两个链表的解法

 * function ListNode(x){
 *   this.val = x;
 *   this.next = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param head ListNode类 
 * @return ListNode类
 */
function oddEvenList( head ) {
    // write code here
//     第一直觉用数组
//     第二直觉用两个链表
    if(!head) return null;
    let p = head;
    let l1 = new ListNode(-1);
    let l2 = new ListNode(-1);
    let p1 = l1;
    let p2 = l2;
    let count = 1;
    while(p){
        let pnext = p.next;//防止断链
        if(count % 2 === 1){
            p1.next = p;
            p1 = p1.next;
        }else{
            p2.next = p;
            p2 = p2.next;
        }
        p = pnext;
        count++;
    }
//     console.log(l1)
//     console.log(l2)
//     必须要有,断链操作
    p2.next = null;
//     两个链表链接起来
    p1.next = l2.next;
    return l1.next;
}
module.exports = {
    oddEvenList : oddEvenList
};