单链表的尾部插入方法:

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

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

请看下面Python 代码。

#!/bin/python3

import math

import os

import random

import re

import sys

class SinglyLinkedListNode:

def __init__(self, node_data):

self.data = node_data

self.next = None

class SinglyLinkedList:

def __init__(self):

self.head = None

def 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 head

if __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, '\n', fptr)

fptr.write('\n')

fptr.close()

题目来自Insert a Node at the Tail of a Linked List | HackerRank​www.hackerrank.com黄哥:黄哥Python:提醒要转行当程序员的朋友,学习要分先后主次​zhuanlan.zhihu.com黄哥:黄哥Python培训是这样训练学员的​zhuanlan.zhihu.com

python 单链表添加节点_黄哥Python:单链表的尾部插入方法相关推荐

  1. python解奥数题_黄哥Python:Python代码解决一道小学奥数题

    有如下小学奥数题: 有180盏亮着的电灯,各有一个拉线开关控制着,现按其顺序编号 1,2,3, ..., 180, 然后将编号为4的倍数的电灯线拉一下,再将 编号为5的倍数的灯线拉一下,最后将编号为6 ...

  2. python 短进程优先算法_黄哥Python:图深度优先算法(dfs)

    深度优先搜索算法(英语:Depth-First-Search,DFS)是一种用于遍历或搜索树或图的算法.沿着树的深度遍历树的节点,尽可能深的搜索树的分支.当节点v的所在边都己被探寻过,搜索将回溯到发现 ...

  3. python在sql添加数据库_使用Python创建MySQL数据库实现字段动态增加以及动态的插入数据...

    应用场景: 我们需要设计一个数据库来保存多个文档中每个文档的关键字.假如我们每个文档字符都超过了1000,取其中出现频率最大的为我们的关键字. 假设每个文档的关键字都超过了300,每一个文件的0-29 ...

  4. python给视频添加声音_用python批量提取视频中的音频文件

    安装MoviePypip3 install MoviePy 安装成功后需要打开MoviePy所在的文件夹C:\Python\Lib\site-packages\moviepy 打开config_def ...

  5. python的input添加变量_在python中如何定义一个全局变量raw_input() 与 input()的区别...

    raw_input和input两个均是 python 的内建函数,通过读取控制台的输入与用户实现交互.但他们的功能不尽相同.下面举两个例子,来说明两者使用上的不同. 例子1Python 2.7.5 ( ...

  6. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  7. mysql动态表单设计与实现_动态表单的数据库结构设计

    利用在线编辑器设计的表单,包含输入框,明细表(动态添加行)等需要存储到数据库的信息,现在有三种思路: 1.一个表单对应数据库的一张或多张物理表(主从表),这种设计在很多业务的情况下,其数据库的物理表会 ...

  8. python 释放链表节点_四种常见链表的实现及时间复杂度分析(Python3版)

    四种常见的链表包括:单向链表,单向循环链表,双向链表,双向循环链表. 要实现的链表操作包括 - is_empty() 判断链表是否为空 - length() 求链表长度 - traversing() ...

  9. python顺序表的实现_数据结构:队列 链表,顺序表和循环顺序表实现(python版)...

    链表实现队列: 尾部 添加数据,效率为0(1) 头部 元素的删除和查看,效率也为0(1) 顺序表实现队列: 头部 添加数据,效率为0(n) 尾部 元素的删除和查看,效率也为0(1) 循环顺序表实现队列 ...

最新文章

  1. 分布式技术追踪 2017年第十二期
  2. 流行学习、流形学习家族、局部线性嵌入LLE、随机投影(Random Projection)、t-SNE降维及可视化
  3. CSS HACK:IE6、IE7、IE8、Firefox兼容性问题解决方案
  4. catia过载属性使用方法_catia简明操作手册
  5. Yann LeCun:深度学习硬件前瞻
  6. 百叶窗效果显示图片源码(c#)
  7. 从0开始配置Win环境下VScode (VScode For C/C++)
  8. oracle 感叹号,Oracle错误案例:ORA-00922
  9. 如何在Ubuntu 18.04上安装OpenCV
  10. 《经典书籍推荐》程序员修炼之道
  11. 眼见不一定为实,电阻、电容和电感的实际等效模型
  12. 猜数字游戏(c语言实现)
  13. excel高效之sumproduct()带权重计算 如:绩效
  14. 题目 1097: 蛇行矩阵 题解
  15. 蔬菜小程序服务器,生鲜蔬菜同城配送小程序案例分析
  16. 高并发环境如何有效缓解带宽压力
  17. 用 Python 生成 CSV 文件
  18. BZOJ2209 [Jsoi2011]括号序列
  19. 【每日前端】京东1号店注册——登录页面CSS实现
  20. jQuery中的Ajax(全)

热门文章

  1. c语言9999是合法常量吗,只会G代码不会宏程序,都不敢说自己是老师傅!
  2. Android 修改 SELinux avc 权限的方法
  3. Android内涵段子评论无限点赞分析与刷赞App[已和谐]
  4. 马云的五新其实没有哪一个是新的
  5. linux如何清除硬盘数据,linux操作系统彻底清除硬盘数据方法
  6. OpenCV形状颜色识别Java,Android
  7. Postman 导出接口集合,并使用newman工具导出html版本测试用例
  8. 计算机不同的路由如何共享打印机,不同局域网内电脑如何实现互访实现文件或打印机共享...
  9. 【程序设计】Linux目录结构
  10. 多维时序 | MATLAB实现TPA-LSTM(时间注意力注意力机制长短期记忆神经网络)多输入单输出