比如我们有一个链表如下:

此时 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进行操作?相关推荐

  1. 结对编程-马尔科夫链作业成绩

    结对编程-马尔科夫链作业成绩 作业博客:http://www.cnblogs.com/vertextao/p/6881960.html 问题 本次作业仅有三位同学按时提交,两位同学延迟提交,出人意料, ...

  2. OpenCV 1.x 2.x 编程简介(矩阵/图像/视频的基本读写操作)

    OpenCV 编程简介(矩阵/图像/视频的基本读写操作) Introduction to programming with OpenCV OpenCV编程简介 作者: Gady Agam Depart ...

  3. objective-c 编程总结(第六篇)运行时操作 - 方法交换

    objective-c 编程总结(第六篇)运行时操作 - 方法交换 后面主要介绍oc类的运行时行为.这里面包括运行时方法的更换,消息的转发,以及动态属性.这些对于面向方面编程AOP的热爱者还是很有用的 ...

  4. vs2010c语言复数i怎么表示,学编程应该知道的c语言中的复数操作

    学编程应该知道的c语言中的复数操作 复数在数学运算中十分重要,在编写数值运算或者算法的时候,我们会用到复数这种概念. 那么,复数在C/C++语言中是如何表示的呢?我们接下来一一介绍. C语言中复数 在 ...

  5. python编程和excel_python编程之赋值和拷贝的区别概述及操作excel数据库(图)

    python编程之赋值和拷贝的区别概述及操作excel数据库(图) 一.赋值 在Python中,对象的赋值就是简单的对象引用,这点和C++不同,如下所示: a = [1,2,"hello&q ...

  6. 区块链编程_了解设计区块链编程模型的权衡

    区块链编程 翻译自: https://hackernoon.com/understanding-the-tradeoffs-of-designing-programming-models-for-bl ...

  7. 区块链编程_资源:区块链上的编程所有权

    区块链编程 智能合约是一类独特的软件,专门用于管理有价值的数字资产的所有权. 尽管可以使用现有的编程环境来跟踪资产的所有权,但是它们通常用于反映所有权而不是直接定义所有权的方案中. 智能合约的独特之处 ...

  8. 软工第三次作业——结对编程之最长单词链

    项目 内容 这个作业属于哪个课程 2023北航敏捷软工 这个作业的要求在哪里 结对项目-最长单词链 我在这个课程的目标是 学习软件工程理论,在实践中体会并运用软件工程理论,收获团队开发和软件工程实践经 ...

  9. 结对编程 - 马尔科夫链

    需求分析 程序能够从文件中读取文章,且具备学习能力 建立前后缀之间的关系 控制文章输出的篇幅(字数) 随机生成文章 做题思路(设计思路&解决问题) 一.程序且具备学习能力 结合参考文章的思路: ...

最新文章

  1. 各种浏览器的userAgent
  2. 去除内存上的警告,避免程序崩掉
  3. 请问:如何写出没有BUG的代码?
  4. 安卓文本编辑器php cpp,用安卓原生控件封装一个简易的富文本编辑器
  5. 高性能web系统的架构和系统优化
  6. 我在售的12部图书简介及网上链接
  7. python neo4j_在Python中使用Neo4j的方法
  8. WPS关联EndNoteX9
  9. Asp.Net集成支付宝当面付接口报ISV权限不足
  10. 试题 算法训练 调和数列问题---蓝桥杯
  11. centos yum 第三方仓库 scl 应用
  12. iOS 开发 code sign 代码签名深入剖析
  13. php revel,Revel 概念
  14. AQI(Air Quality Index)分析与预测
  15. xml使用外部DTD加载验证
  16. python模拟阴阳师抽卡
  17. 【小程序】开发需要注意的地方(三)
  18. 重天乾 (易經大意 韓長庚)
  19. 开曼、BVI等离岸公司为什么都选择开新加坡银行账户
  20. C语言易错点汇总(二)

热门文章

  1. PHP大文件分片上传
  2. 被乔布斯遗忘的VR:纽约大学教授解密苹果与虚拟现实的尘封往事
  3. iOS 使用GPUImage实现iOS 7的模糊效果
  4. 图文说明如何使用T4在VS2008里生成代码
  5. Webservice 的设计和模式
  6. n^n的末位数字(快速幂)
  7. hdu 4358(莫队算法+dfs序列)
  8. NYOJ 801 Haffman编码
  9. vue中checkbox 样式自定义重写;循环遍历checkbox,拿到不同的v-model绑定值;及获取当前checked 状态,全选和全不选等功能。...
  10. 6993: Dominoes(纯bfs)