题目:在非空线性链表的末尾插入一个数据信息为item的链结点
解题思路:设置一个指针变量(不妨取名为r),先让r指向链表的第1个链结点,然后反复执行动作到r指向链表的末尾链结点。然后申请新的链结点,数据域为item,指针域为null,最后将新结点的地址送入r指向的链结点的指针域,即完成插入操作。
具体算法实现如下:
这里我们会用到createLinklist(n)来建立一个线性链表出来。
let list = createLinklist(Math.floor(Math.random()*10))
console.log('创建的list为:', toString(list))
function insertList2(list, item) {
let r = list
while (r.link!=null) {
r = r.link
}
let p = new Node(item, null)
r.link = p
return list
}
let r_list2 = insertList2(list, 'kk')
console.log('插入item后的链表为:', toString(r_list2))