反转链表

来源:5-3 LeetCode:206.反转链表

INNOVATION882672

2022-06-29

function linkedList() {
  this.a = null;
  this.mid = null;
  this.push = (item) => {
    let obj = { val: item };
    if (!this.mid) {
      this.a = obj;
    } else {
      this.mid.next = obj;
    }
    this.mid = obj;
  };

  this.midPush = function (left, right, item) {
    if (!this.a) {
      this.push(item);
      return;
    }
    let i = null;
    let j = null;
    let p = this.a;
    while (p) {
      if (p.val == left) {
        i = p;
      }

      if (p.val == right) {
        j = p;
        break;
      }
      p = p.next;
    }

    let obj = { val: item };
    i.next = obj;
    obj.next = j;
  };
  
  this.delete = function (item) {
    let p = l.peek();

    while (p) {
        if(p.next.val == item){
            break
        }
      p = p.next;
    }

    p.next = p.next.next

  };

  this.peek = function () {
    return this.a;
  };
}

let l = new linkedList();
l.push("a");
l.push("b");
l.push("c");
l.push("d");
let arr = []
let p = l.peek()
while (p) {
  arr.push(p.val)
  p = p.next;
}
let l1 = new linkedList
for(let i = arr.length-1;i >=0; i--){
    l1.push(arr[i])
}
console.log(l1.peek());



写回答

1回答

lewis

2022-06-29

同学有什么疑问吗?

0
1
INNOVATION882672
没啥就是按自己的思路写一遍在按老师的思路走一遍
2022-06-29
共1条回复

JavaScript版数据结构与算法 轻松解决前端算法面试

夯实算法基础,填补技术短板,助力面试考题最后一公里

2485 学习 · 683 问题

查看课程