题目:在线性链表中第i个链结点后面插入一个数据信息为item的链结点
解题思路:首先从第1个结点出发,找到第i个链结点,然后再将新链结点插入其后。若插入成功,算法返回链表;否则返回-1.
具体算法实现如下:
这里我们会用到createLinklist(n)来建立一个线性链表出来
function insertList4(list, i, item) {
let p, q=list
let j=1
while( j<i && q!=null ){
q = q.link
j++
}
if (j!=i || q==null) {
console.log("链表中不存在第i个链结点!")
return -1
}
p = new Node(item, null)
p.link = q.link
q.link = p
return list
}
var list = createLinklist(10)
console.log('创建的list为:', toString(list))
var r_list = insertList4(list, 5, 'bb')
console.log('插入item后的链表为:', toString(r_list))