建立网站涉及到哪些企业,深圳开公司流程及费用,湖南建设科技节能协会网站,深圳网站设计收费标准目录 24. 两两交换链表中的节点19.删除链表的倒数第N个节点面试题 02.07. 链表相交142.环形链表II 24. 两两交换链表中的节点
链接
双指针
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val0, nextNone):
# self.val val
# … 目录 24. 两两交换链表中的节点19.删除链表的倒数第N个节点面试题 02.07. 链表相交142.环形链表II 24. 两两交换链表中的节点
链接
双指针
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val0, nextNone):
# self.val val
# self.next next
class Solution:def swapPairs(self, head: Optional[ListNode]) - Optional[ListNode]:dummy ListNode(next head)cur dummywhile cur.next and cur.next.next:temp1 cur.nexttemp3 cur.next.next.nextcur.next temp1.next cur.next.next temp1temp1.next temp3cur temp1return dummy.next19.删除链表的倒数第N个节点
链接
快慢指针 虚拟头结点
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, val0, nextNone):
# self.val val
# self.next next
class Solution:def removeNthFromEnd(self, head: Optional[ListNode], n: int) - Optional[ListNode]:dummy ListNode(next head)fast dummyslow dummyfor i in range(n):fast fast.next while fast.next:fast fast.nextslow slow.nextslow.next slow.next.nextreturn dummy.next面试题 02.07. 链表相交
链接
等比例法
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val x
# self.next Noneclass Solution:def getIntersectionNode(self, headA: ListNode, headB: ListNode) - ListNode:A, B headA, headBwhile A ! B:A A.next if A else headBB B.next if B else headAreturn B142.环形链表II
链接
# Definition for singly-linked list.
# class ListNode:
# def __init__(self, x):
# self.val x
# self.next Noneclass Solution:def detectCycle(self, head: Optional[ListNode]) - Optional[ListNode]:fast, slow head, headwhile fast and fast.next:slow slow.nextfast fast.next.nextif slow fast:slow headwhile slow ! fast:slow slow.nextfast fast.nextreturn slowreturn None