4-5 Python数据结构常考题之链表
Posted WinvenChang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4-5 Python数据结构常考题之链表相关的知识,希望对你有一定的参考价值。
一、链表
链表涉及到指针操作较为复杂,容易出错,经常用用考题
1.熟悉链表的定义和常见操作
2.常考题:删除一个链表节点
3.常考题:合并两个有序链表
# leetcode第237号题目:删除一个链表节点
class Solution:
def deleteNode(self, node):
next_node = node.next
after_next_node = node.next.next
node.val = next_node.val
node.next = after_next_node
下图分析:
# leetcode第21号题目:合并两个有序链表
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
def mergeTwoLists(self, l1: ListNode, l2: ListNode) -> ListNode:
root = ListNode(None)
cur = root
while l1 and l2:
if l1.val < l2.val:
node = ListNode(l1.val)
l1 = l1.next
else:
node = ListNode(l2.val)
l2 = l2.next
cur.next = node
cur = node
# l1 或者 l2 可能还有剩余的值
cur.next = l1 or l2
return root.next
二、多写多练
打开相关的题目,多做一些练习
1.一般可能一次很难写对
2.尝试自己先思考,先按照自己的方式编写代码,提交后发现问题
3.如果实在没有思路或者想参考别人的思路可以搜题解
以上是关于4-5 Python数据结构常考题之链表的主要内容,如果未能解决你的问题,请参考以下文章