Java算法面试题(001) 如何使用循环和递归计算单链表的长度

本文探讨了在Java中如何通过迭代和递归两种方法计算单链表的长度,这是面试中常见的编程问题。迭代方案通过计数器遍历链表直至null,递归方案则利用函数递归实现。文章适合准备面试和对链表操作感兴趣的读者。
摘要由CSDN通过智能技术生成

本文为本博主翻译,未经允许,严禁转载。

简介

这是我第一次接受跨国投资银行面试时所问的经典编程问题之一。之后,这个问题在其他编程工作面试中也多次被问到。让这个问题有趣的是,与C ++开发人员相比,Java开发人员在数据结构方面并不是那么棒,这显然是因为这两种语言之间的根本区别。 C ++更多的是系统编程语言,而Java更多的是应用程序编程,也有一套丰富的Java API允许程序员跳过这种基本的编程技术。
顺便说一句,如果你正在准备面试编程和寻找更多的编码或算法的问题,例如数组,字符串或其他数据结构,你可以随时搜索这个博客。
如果你喜欢读书,那么你也可以看看Craking the Coding Interview,其中包含150个编程问题和解决方案。对于初学者,中级和有经验的程序员来说,这是最好的编码问题集合之一。它包含来自基本和高级数据结构的问题,如双向链表,二叉树,自平衡树和二进制堆。

2种在Java中查找链表长度的方法

无论如何,让我们回到这个问题,大家都知道,在单链表中,最后一个元素会指向“null”元素,所以第一个答案大部分时间是“我将使用一个计数器并递增,直到达到元素的结尾“。
一旦到达链表的末尾,计数器的值将等于所遇到的元素的总数,即元素的长度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值