本文为本博主翻译,未经允许,严禁转载。
简介
这是我第一次接受跨国投资银行面试时所问的经典编程问题之一。之后,这个问题在其他编程工作面试中也多次被问到。让这个问题有趣的是,与C ++开发人员相比,Java开发人员在数据结构方面并不是那么棒,这显然是因为这两种语言之间的根本区别。 C ++更多的是系统编程语言,而Java更多的是应用程序编程,也有一套丰富的Java API允许程序员跳过这种基本的编程技术。
顺便说一句,如果你正在准备面试编程和寻找更多的编码或算法的问题,例如数组,字符串或其他数据结构,你可以随时搜索这个博客。
如果你喜欢读书,那么你也可以看看Craking the Coding Interview,其中包含150个编程问题和解决方案。对于初学者,中级和有经验的程序员来说,这是最好的编码问题集合之一。它包含来自基本和高级数据结构的问题,如双向链表,二叉树,自平衡树和二进制堆。
2种在Java中查找链表长度的方法
无论如何,让我们回到这个问题,大家都知道,在单链表中,最后一个元素会指向“null”元素,所以第一个答案大部分时间是“我将使用一个计数器并递增,直到达到元素的结尾“。
一旦到达链表的末尾,计数器的值将等于所遇到的元素的总数,即元素的长度。