单链表的插入和删除_黄哥Python:单链表的尾部插入方法

单链表的尾部插入方法:

1、先判断头结点是不是为None

2、设置一个当前结点node,循环下一个结点,当node.next 为None 时,就到尾部,也就是找到插入点了。

请看下面Python 代码。

题目来源

c79d76de99705d2f25608019a0c774e7.png
#!/bin/python3import mathimport osimport randomimport reimport sysclass SinglyLinkedListNode: def __init__(self, node_data): self.data = node_data self.next = Noneclass SinglyLinkedList: def __init__(self): self.head = Nonedef print_singly_linked_list(node, sep, fptr): while node: fptr.write(str(node.data)) node = node.next if node: fptr.write(sep)# Complete the insertNodeAtTail function below.## For your reference:## SinglyLinkedListNode:# int data# SinglyLinkedListNode next##def insertNodeAtTail(head, data): '''黄哥Python培训 黄哥所写''' if head is None: head = SinglyLinkedListNode(data) return head node = head while node.next is not None: node = node.next node.next = SinglyLinkedListNode(data) return headif __name__ == '__main__': fptr = open(os.environ['OUTPUT_PATH'], 'w') llist_count = int(input()) llist = SinglyLinkedList() for i in range(llist_count): llist_item = int(input()) llist_head = insertNodeAtTail(llist.head, llist_item) llist.head = llist_head print_singly_linked_list(llist.head, '', fptr) fptr.write('') fptr.close()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值