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

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

简介

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

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

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

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值