首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python函数-在链表的开头和结尾处插入一个值-不修改链表

链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个值和指向下一个节点的指针。在链表的开头和结尾处插入一个值是常见的操作,可以通过以下Python函数实现:

代码语言:txt
复制
class ListNode:
    def __init__(self, val=0, next=None):
        self.val = val
        self.next = next

def insertAtBeginning(head, value):
    new_node = ListNode(value)
    new_node.next = head
    return new_node

def insertAtEnd(head, value):
    new_node = ListNode(value)
    if head is None:
        return new_node
    current = head
    while current.next:
        current = current.next
    current.next = new_node
    return head

上述代码定义了一个ListNode类,表示链表的节点。insertAtBeginning函数在链表的开头插入一个值,它创建一个新的节点,并将其指针指向原来的头节点。insertAtEnd函数在链表的结尾插入一个值,它遍历链表找到最后一个节点,然后将新节点添加到最后一个节点的后面。

这些函数可以用于不修改原始链表的情况下,在链表的开头和结尾处插入一个值。

以下是一些示例代码,演示如何使用上述函数:

代码语言:txt
复制
# 创建链表:1 -> 2 -> 3 -> None
head = ListNode(1)
node2 = ListNode(2)
node3 = ListNode(3)
head.next = node2
node2.next = node3

# 在链表开头插入值 0
head = insertAtBeginning(head, 0)

# 在链表结尾插入值 4
head = insertAtEnd(head, 4)

# 打印链表:0 -> 1 -> 2 -> 3 -> 4 -> None
current = head
while current:
    print(current.val, end=" -> ")
    current = current.next
print("None")

这段代码创建了一个链表,然后在链表的开头插入值0,在链表的结尾插入值4,并打印最终的链表。

对于链表的开头和结尾插入操作,可以应用于各种场景,例如在实现队列或栈的数据结构时,可以使用这些操作。

腾讯云提供了云计算相关的产品和服务,其中与链表操作相关的产品可能没有直接对应的服务。但是,腾讯云提供了弹性伸缩、负载均衡、容器服务等多种云计算基础设施和解决方案,可以用于构建和部署应用程序。您可以访问腾讯云官方网站了解更多关于这些产品的信息:腾讯云产品

请注意,以上答案仅供参考,具体的解决方案可能根据实际需求和环境而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券