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

Posted rain67

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 数据结构——单链表面试题相关的知识,希望对你有一定的参考价值。


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


本次内容介绍大纲


在这里插入图片描述


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


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


一、移除链表元素


1.题目要求


在这里插入图片描述


2.思路实现


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


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


情形一

在这里插入图片描述

情形二

在这里插入图片描述

情形三

在这里插入图片描述

情形四

在这里插入图片描述

思路总结:

在这里插入图片描述


3.代码实现


在这里插入图片描述

二、反转链表


1.题目要求


在这里插入图片描述

2.思路实现


在这里插入图片描述


实现以上链表结构.


思路一:依次头插法

在这里插入图片描述

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

在这里插入图片描述

3.代码实现


思路一代码:


在这里插入图片描述


思路二代码:


在这里插入图片描述


三、找到链表的中间节点


1.题目要求

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

在这里插入图片描述


2.思路实现


思路一:

在这里插入图片描述


思路二:


当链表长度为奇数时


在这里插入图片描述

在这里插入图片描述

当链表长度为偶数时


在这里插入图片描述

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


3.代码实现


在这里插入图片描述



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



  感谢支持!!!



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



未完待续…

以上是关于Java 数据结构——单链表面试题的主要内容,如果未能解决你的问题,请参考以下文章

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

数据结构与算法:单链表面试题(新浪,百度,腾讯)

数据结构 Java 版玩转链表链表面试题及个人题解

c/c++单链表面试题—链表带环问题

单链表面试题一

c/c++单链表面试题—链表相交问题