,可以通过以下步骤实现:
下面是一个示例代码:
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def insertNodeBefore(target_node, new_node_val):
# 创建新节点
new_node = ListNode(new_node_val)
# 遍历链表,找到目标节点的前一个节点
curr = head
while curr.next != target_node:
curr = curr.next
# 插入新节点
new_node.next = target_node
curr.next = new_node
# 示例用法
# 创建链表:1 -> 2 -> 3 -> 4
head = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
node4 = ListNode(4)
head.next = node2
node2.next = node3
node3.next = node4
# 在节点2之前插入新节点5
insertNodeBefore(node2, 5)
这样,链表就变为:1 -> 5 -> 2 -> 3 -> 4。
关于单链表的概念、分类、优势、应用场景以及腾讯云相关产品和产品介绍链接地址,以下是相关信息:
云+社区沙龙online [国产数据库]
DB TALK 技术分享会
GAME-TECH
新知
云+社区技术沙龙[第10期]
云+社区技术沙龙[第7期]
Elastic 实战工作坊
Elastic 实战工作坊
企业创新在线学堂
serverless days
领取专属 10元无门槛券
手把手带您无忧上云