【编程】为什么不能直接对链表头head进行操作?
比如我们有一个链表如下:
此时 head 就是 1 这个位置,但是链表是连着的,输出 head 你会得到一整串以 1 为起点的链子,也就是[1, 2, 3],head.next 会输出 [2, 3]
假设现在我们有一个未知长度的链表,想要计算其长度怎么办呢?
可以令 head = head.next 直到 head is None,期间进行计数就好啦
n = 0
while head:n += 1head = head.next
此时,输出的 n 就是链表的长度,但是 head 变成了 [] ,也就是说我们无法在输出整个链表的信息了。
所以,在对链表进行操作时,一般会 tmp = head ,对 tmp 一番操作之后,并不影响 head 的位置,整个链表也没有变化(如果你不改变的话),代码如下:
n = 0
tmp = head
while tmp:n += 1tmp = tmp.next
最后,想不明白的话强烈建议画个图,会好理解很多。另外,head 只是一个位置,位置。
猜你喜欢:
【编程】为什么不能直接对链表头head进行操作?相关推荐
- 结对编程-马尔科夫链作业成绩
结对编程-马尔科夫链作业成绩 作业博客:http://www.cnblogs.com/vertextao/p/6881960.html 问题 本次作业仅有三位同学按时提交,两位同学延迟提交,出人意料, ...
- OpenCV 1.x 2.x 编程简介(矩阵/图像/视频的基本读写操作)
OpenCV 编程简介(矩阵/图像/视频的基本读写操作) Introduction to programming with OpenCV OpenCV编程简介 作者: Gady Agam Depart ...
- objective-c 编程总结(第六篇)运行时操作 - 方法交换
objective-c 编程总结(第六篇)运行时操作 - 方法交换 后面主要介绍oc类的运行时行为.这里面包括运行时方法的更换,消息的转发,以及动态属性.这些对于面向方面编程AOP的热爱者还是很有用的 ...
- vs2010c语言复数i怎么表示,学编程应该知道的c语言中的复数操作
学编程应该知道的c语言中的复数操作 复数在数学运算中十分重要,在编写数值运算或者算法的时候,我们会用到复数这种概念. 那么,复数在C/C++语言中是如何表示的呢?我们接下来一一介绍. C语言中复数 在 ...
- python编程和excel_python编程之赋值和拷贝的区别概述及操作excel数据库(图)
python编程之赋值和拷贝的区别概述及操作excel数据库(图) 一.赋值 在Python中,对象的赋值就是简单的对象引用,这点和C++不同,如下所示: a = [1,2,"hello&q ...
- 区块链编程_了解设计区块链编程模型的权衡
区块链编程 翻译自: https://hackernoon.com/understanding-the-tradeoffs-of-designing-programming-models-for-bl ...
- 区块链编程_资源:区块链上的编程所有权
区块链编程 智能合约是一类独特的软件,专门用于管理有价值的数字资产的所有权. 尽管可以使用现有的编程环境来跟踪资产的所有权,但是它们通常用于反映所有权而不是直接定义所有权的方案中. 智能合约的独特之处 ...
- 软工第三次作业——结对编程之最长单词链
项目 内容 这个作业属于哪个课程 2023北航敏捷软工 这个作业的要求在哪里 结对项目-最长单词链 我在这个课程的目标是 学习软件工程理论,在实践中体会并运用软件工程理论,收获团队开发和软件工程实践经 ...
- 结对编程 - 马尔科夫链
需求分析 程序能够从文件中读取文章,且具备学习能力 建立前后缀之间的关系 控制文章输出的篇幅(字数) 随机生成文章 做题思路(设计思路&解决问题) 一.程序且具备学习能力 结合参考文章的思路: ...
最新文章
- 各种浏览器的userAgent
- 去除内存上的警告,避免程序崩掉
- 请问:如何写出没有BUG的代码?
- 安卓文本编辑器php cpp,用安卓原生控件封装一个简易的富文本编辑器
- 高性能web系统的架构和系统优化
- 我在售的12部图书简介及网上链接
- python neo4j_在Python中使用Neo4j的方法
- WPS关联EndNoteX9
- Asp.Net集成支付宝当面付接口报ISV权限不足
- 试题 算法训练 调和数列问题---蓝桥杯
- centos yum 第三方仓库 scl 应用
- iOS 开发 code sign 代码签名深入剖析
- php revel,Revel 概念
- AQI(Air Quality Index)分析与预测
- xml使用外部DTD加载验证
- python模拟阴阳师抽卡
- 【小程序】开发需要注意的地方(三)
- 重天乾 (易經大意 韓長庚)
- 开曼、BVI等离岸公司为什么都选择开新加坡银行账户
- C语言易错点汇总(二)
热门文章
- PHP大文件分片上传
- 被乔布斯遗忘的VR:纽约大学教授解密苹果与虚拟现实的尘封往事
- iOS 使用GPUImage实现iOS 7的模糊效果
- 图文说明如何使用T4在VS2008里生成代码
- Webservice 的设计和模式
- n^n的末位数字(快速幂)
- hdu 4358(莫队算法+dfs序列)
- NYOJ 801 Haffman编码
- vue中checkbox 样式自定义重写;循环遍历checkbox,拿到不同的v-model绑定值;及获取当前checked 状态,全选和全不选等功能。...
- 6993: Dominoes(纯bfs)