力扣days02 链表

力扣203. 移除链表元素

力扣707. 设计链表

  已经覆盖了链表的常见操作,是练习链表操作非常好的一道题目;

力扣206. 反转链表

  再定义一个新的链表,实现链表元素的反转,是对内存空间的浪费。

  1、只需要使用双指针,改变链表的next指针的指向,直接将链表反转 ,而不用重新定义一个新的链表。

  2、进阶:递归法(从前往后,从后往前递归);

  3、利用栈的先进后出;

力扣24. 两两交换链表中的节点

  

力扣19. 删除链表的倒数第N个节点

  双指针的经典应用,如果要删除倒数第n个节点,让fast移动n步,然后让fast和slow同时移动,直到fast指向链表末尾。删掉slow所指向的节点就可以了。

  对链表的操作一般需要考虑头节点;对头节点的删除,还是建议使用虚拟头节点的方法,便于统一操作;

  这里,快指针走n+1步,主要是防止n大于链表长度时,当fast指向空时下一个结点为空,对空指针操作会出错;

  

力扣160. 链表相交(面试题)

  简单来说,就是求两个链表交点节点的指针,交点不是数值相等,而是指针相等(末尾开始的相等)。

力扣142.环形链表II

  1、先判断是否存在环

  2、存在环则找到环的入口

 

posted @ 2023-02-22 10:36  LinxhzzZ  阅读(19)  评论(0)    收藏  举报