Java 数据结构——单链表面试题(一)


Java 数据结构——单链表面试题(一)


本次内容介绍大纲


在这里插入图片描述


  接上篇 Java——数据结构之单链表


  在上一篇文章中,我们介绍了单链表的各个方法的实现,这次我们将通过简单的单链表面试题(以牛客网及 Leetcode 的链表题为主)来深入了解 单链表的知识结构。


一、移除链表元素


1.题目要求


在这里插入图片描述


2.思路实现


  在上一篇博客 单链表的实现功能中 我们有一个删除第一次出现 key 关键字的节点的方法,这次我们要删除所有 关键字为 key 的节点。


  在下面的几个链表中,我们都要是删除 关键字为 45的节点。


情形一

在这里插入图片描述

情形二

在这里插入图片描述

情形三

在这里插入图片描述

情形四

在这里插入图片描述

思路总结:

在这里插入图片描述


3.代码实现


在这里插入图片描述

二、反转链表


1.题目要求


在这里插入图片描述

2.思路实现


在这里插入图片描述


实现以上链表结构.


思路一:依次头插法

在这里插入图片描述

思路二:利用 prev、curNext、cur 等变量进行 next 的变换

在这里插入图片描述

3.代码实现


思路一代码:


在这里插入图片描述


思路二代码:


在这里插入图片描述


三、找到链表的中间节点


1.题目要求

在这里插入图片描述
  举个例子,以下面的链表为例:

在这里插入图片描述


2.思路实现


思路一:

在这里插入图片描述


思路二:


当链表长度为奇数时


在这里插入图片描述

在这里插入图片描述

当链表长度为偶数时


在这里插入图片描述

  同样符合题目需求,所以思路二完全正确!!


3.代码实现


在这里插入图片描述



  好了今天的知识就分享到这里,希望大家多多练习,谢谢大家的欣赏与关注!!



  感谢支持!!!



  之后的单链表面试题博主会持续进行更新,欢迎各位读者大大的关注哦!!



未完待续…

1.栈和队列的共同特点是(只允许在端点处插入和删除元素) 4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构) 5.下列关于栈的叙述正确的是(D) A.栈是非线性结构B.栈是一种树状结构C.栈具有先进先出的特征D.栈有后进先出的特征 6.链表不具有的特点是(B)A.不必事先估计存储空间 B.可随机访问任一元素 C.插入删除不需要移动元素 D.所需空间与线性表长度成正比 7.用链表表示线性表的优点是(便于插入和删除操作) 8.在单链表,增加头结点的目的是(方便运算的实现) 9.循环链表的主要优点是(从表任一结点出发都能访问到整个链表) 10.线性表L=(a1,a2,a3,……ai,……an),下列说法正确的是(D) A.每个元素都有一个直接前件和直接后件 B.线性表至少要有一个元素 C.表元素的排列顺序必须是由小到大或由大到小 D.除第一个和最后个元素外,其余每个元素都有一个且只有一个直接前件和直接后件 11.线性表若采用链式存储结构时,要求内存可用存储单元的地址(D) A.必须是连续的 B.部分地址必须是连续的C.一定是不连续的 D.连续不连续都可以 12.线性表的顺序存储结构和线性表的链式存储结构分别是(随机存取的存储结构、顺序存取的存储结构) 13.树是结点的集合,它的根结点数目是(有且只有1) 14.在深度为5的满二叉树,叶子结点的个数为(31) 15.具有3个结点的二叉树有(5种形态) 16.设一棵二叉树有3个叶子结点,有8个度为1的结点,则该二叉树总的结点数为(13) 17.已知二叉树后序遍历序列是dabec,序遍历序列是debac,它的前序遍历序列是(cedba) 18.已知一棵二叉树前序遍历和序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为(DGEBHFCA) 19.若某二叉树的前序遍历访问顺序是abdgcefh,序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是(gdbehfca) 20.数据库保护分为:安全性控制、 完整性控制 、并发性控制和数据的恢复。 1. 在计算机,算法是指(解题方案的准确而完整的描述) 2.在下列选项,哪个不是一个算法一般应该具有的基本特征(无穷性) 说明:算法的四个基本特征是:可行性、确定性、有穷性和拥有足够的情报。 3. 算法一般都可以用哪几种控制结构组合而成(顺序、选择、循环) 4.算法的时间复杂度是指(算法执行过程所需要的基本运算次数) 5. 算法的空间复杂度是指(执行过程所需要的存储空间) 6. 算法分析的目的是(分析算法的效率以求改进) ............ .................
评论 34
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RAIN 7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值