数据结构题目21:连接成一个线性链表将两个非空线性链表

题目:将两个非空线性链表连接成一个线性链表
解题思路:设两个链表的第1个链结点的指针分别为lista和listb。先找到第1个链表末尾链结点的位置,然后将第2个链表的第1个链结点的地址送其指针域即可。
具体算法实现如下:
这里我们会用到toString(list))来打印一个线性链表出来。
这里我们会用到createLinklist(n)来建立一个线性链表出来

function connect(lista ,listb) {
    let p = lista;
    while (p.link!=null) {
        p=p.link
    }
    p.link = listb
    return lista
}

var lista = createLinklist(4)
console.log('创建的list为:', toString(lista))
var listb = createLinklist(4)
console.log('创建的list为:', toString(listb))

var r_list = connect(lista, listb)
console.log('连接后的链表为:', toString(r_list))

性能:
时间复杂度为O(n)

你可能感兴趣的:(数据结构题目21:连接成一个线性链表将两个非空线性链表)