leetcode刷题jsDay3——链表(203,707,206)

Leetcode203 移除链表元素

203. 移除链表元素

练习 虚拟结点的使用,很方便,省去判断头节点的步骤。

Leetcode707 设计链表

707. 设计链表

 单链表法和双向链表法

使用虚拟节点方便很多;

想清楚移动的时候要不要等于index

举例:得到的是目前index所在的节点

for (let i=0;i<=index;++i){
        cur=cur.next;
    }

得到的是index之前的一个节点,因为存在虚拟节点,所以index=0时也成立

pred = this.head;
    for (let i=0;i< index;++i){   //没有等于号
        pred=pred.next;
    }

注意点:注意for循环的开始和结束条件,很容易错,导致debug很久。

Leetcode206 反转链表

206. 反转链表

双指针法:代码实现起来很简单,主要是想到让链表箭头调转。

递归法 : 和双指针法类似,分为从前向后翻转和从后向前反转。

你可能感兴趣的:(链表,leetcode,算法)