本文主要是介绍代码随想录算法训练营第三天| LeetCode203.移除链表元素、707.设计链表、206.反转链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章目录
- 一、203. 移除链表元素
- 感受
- 代码
- 二、707.设计链表
- 感受
- 代码
- 206.反转链表
- 感受
- 总结
一、203. 移除链表元素
感受
我对这道题。从理论上来说太熟悉了。咸鱼讲数据结构常用的方法他都会讲。但是我没上机没写过。到后面上机还是写不出来。giao。
代码
第一次写,想说一下,要注意边界值。我第一次的时候,循环的条件就写错了。我写成 while q.next and q.next.next了 认为删除操作,至少要有三个node节点,结果还要单独处理尾节点。
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:def removeElements(self, head: Optional[ListNode], val: int) -> Optional[ListNode]:# 如果为空,就直接返回if not head:return head#现在,我们在实现有头结点的版本# 现在p就是虚拟头结点了p = ListNode(next=head)# 新建了一个指针,让他来遍历我们的单链表q = pwhile q.
这篇关于代码随想录算法训练营第三天| LeetCode203.移除链表元素、707.设计链表、206.反转链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!