单链表面试题

简介: 单链表面试题

1.合并两个有序链表

  1. 链表的分割
    我们的思路可能是先定义两个结构体指针n1和n2存放head的值,然后遍历链表,将节点指向的值小于X的链表放在b1当中,然后将节点指向的值小于X的节点放在n2当中,最后再将两个链表链接起来就可以了.但是当我们正在去实现代码的时候会发现,我们这样在原先链表上做这些操作很复杂,既要考虑节点的指向问题又要重新定义一个prev节点来记录前一个节点的位置.所以这种方法我们先放在一边看看有没有简单一点的方法.我们顺着刚才的思维再往下想,我们是不是可以重新定义两个结构体变量,为这个变量开辟一块和原先结构体占用空间大小一样的空间.然后我们不在原先的链表上操作而是在这两个新定义的"链表"中操作,这样就避免了在原先的链表上操作了.
  2. 链表的回文结构
    把两个链表变成一样的顺序了.这种方法按照逻辑是没有错的,但是我们说,这个题有没有优解,我们可以想到前一章我们讲过链表的中间节点和链表反转链表,我们仔细一想其实会发现这种头插尾插的形式还是比较麻烦的,我们可以利用前面的结论先找到链表的中间节点,再将中间节点后面的链表进行反转,这样也能得到我们想要的结果.
相关文章
|
27天前
|
存储 算法 索引
数据结构与算法:单链表
朋友们大家好,本节来到数据结构与算法的新内容:单链表 在上篇文章中,我们知道顺序表通常需要预分配一个固定大小的内存空间, 通常以二倍的大小进行增容,可能会造成空间的浪费,本篇文章我们介绍的链表可以解决这个问题
|
5月前
|
算法 Go
单链表(面试算法题2)---单链表进阶1之快慢指针
单链表(面试算法题2)---单链表进阶1之快慢指针
28 0
|
6月前
|
存储 算法
数据结构与算法之《单链表》详解
数据结构与算法之《单链表》详解
41 0
|
6天前
|
存储 算法
单链表——“数据结构与算法”
单链表——“数据结构与算法”
|
6天前
|
存储 算法
双链表——“数据结构与算法”
双链表——“数据结构与算法”
|
3月前
|
存储 算法 UED
数据结构与算法:双链表
数据结构与算法:双链表
28 0
数据结构与算法:双链表
|
3月前
|
算法
数据结构与算法之单链表
数据结构与算法之单链表
18 0
|
4月前
|
存储 算法
【408数据结构与算法】—单链表(五)
【408数据结构与算法】—单链表(五)
|
9月前
|
存储
单链表知识点
单链表知识点
|
10月前
|
存储 程序员 测试技术
单链表面试题思路分享二
我们紧接上文单链表面试题分享一来看看本章我要分享的题目,共四个题目,我还是把它在力扣或者牛客网的链接交给大家:1.合并两个有序链表力扣21题-----2.链表的分割牛客网cc149-----3.链表的回文结构力扣234题-----4.链表相交力扣160题,本次分享还是和之前一样,代码用c语言实现,我只分享我自己的思路和我认为容易想错的点(我曾经错过的点),如若我的代码有问题但是这个题刚好可以编译可以,请大家评论区提出.

热门文章

最新文章