js实现链表结构

大兄弟 2019年01月05日1   124

这两天在研究数据结构的题,刷到了“两数相加”的题,题目看起来简单,其实还是没做出预期效果。但解决了js没有直接类库的链表操作

// 链表基本结构 每个节点只能存储一个值
function ListNode(val) {
    this.val = val;
    this.next = null;
}
// 函数方式创建链表,没有用到对象来实现
function createNode(list) {
    // list是一个数组
    var res = new ListNode(list[0]);// 这里相当于创建表头,我省略了链表头,因为直接返回是返回整个链,链头到后面没什么用处
    var curr = res;// 其实这里就相当于引用
    for (var k = 1; (list.length - 1) >= k; k++) {
        curr.next = new ListNode(list[k]); // 这里同时也改变了res变量
        curr = curr.next;// 继续下一个子代
    }
    return res;// 返回链表
}