链表使我痛苦。。。。。。。。。。。。。
但是通过这三道题,逐渐理解了链表的解题方法,首先要知道如何定义一个节点:
class ListNode:
def __init__(val=0, next=None):
self.val = val
self.next = next
要理解其中val和next定义,val是节点中的值,next是指向下一个节点的指针。
203题
这里dummy_head = ListNode(next = head)等同于 dummy_head = ListNode(-1), dummy_head.next = head.
707题设计链表:此题有点长,但值得一练,是一道综合链表题
第206题 反转链表
方法一:双指针(易理解)
方法二:递归法(要好好体会)