单链表面试题

简介: 单链表面试题

1.合并两个有序链表

  1. 链表的分割
    我们的思路可能是先定义两个结构体指针n1和n2存放head的值,然后遍历链表,将节点指向的值小于X的链表放在b1当中,然后将节点指向的值小于X的节点放在n2当中,最后再将两个链表链接起来就可以了.但是当我们正在去实现代码的时候会发现,我们这样在原先链表上做这些操作很复杂,既要考虑节点的指向问题又要重新定义一个prev节点来记录前一个节点的位置.所以这种方法我们先放在一边看看有没有简单一点的方法.我们顺着刚才的思维再往下想,我们是不是可以重新定义两个结构体变量,为这个变量开辟一块和原先结构体占用空间大小一样的空间.然后我们不在原先的链表上操作而是在这两个新定义的"链表"中操作,这样就避免了在原先的链表上操作了.
  2. 链表的回文结构
    把两个链表变成一样的顺序了.这种方法按照逻辑是没有错的,但是我们说,这个题有没有优解,我们可以想到前一章我们讲过链表的中间节点和链表反转链表,我们仔细一想其实会发现这种头插尾插的形式还是比较麻烦的,我们可以利用前面的结论先找到链表的中间节点,再将中间节点后面的链表进行反转,这样也能得到我们想要的结果.
相关文章
|
8天前
|
存储 算法 索引
数据结构与算法:单链表
朋友们大家好,本节来到数据结构与算法的新内容:单链表 在上篇文章中,我们知道顺序表通常需要预分配一个固定大小的内存空间, 通常以二倍的大小进行增容,可能会造成空间的浪费,本篇文章我们介绍的链表可以解决这个问题
|
6月前
|
算法 Go
单链表(面试算法题2)---单链表进阶1之快慢指针
单链表(面试算法题2)---单链表进阶1之快慢指针
29 0
|
7月前
|
存储 算法
数据结构与算法之《单链表》详解
数据结构与算法之《单链表》详解
43 0
|
8天前
|
存储 算法
单链表——“数据结构与算法”
单链表——“数据结构与算法”
|
8天前
|
存储 算法
双链表——“数据结构与算法”
双链表——“数据结构与算法”
|
8天前
|
存储 算法 UED
数据结构与算法:双链表
数据结构与算法:双链表
29 0
数据结构与算法:双链表
|
8天前
|
算法
数据结构与算法之单链表
数据结构与算法之单链表
20 0
|
8天前
|
存储 算法
【408数据结构与算法】—单链表(五)
【408数据结构与算法】—单链表(五)
|
10月前
|
存储
单链表知识点
单链表知识点
|
11月前
|
编译器 测试技术 程序员
单链表面试题思路分享一
由于单链表本身存在一定的缺陷,很多OJ题都在考察单链表,所以我这篇文章为大家分享一下力扣(LeetCode)力扣官网上面的单链表的OJ题,包括我自己的解题思路和我认为容易想错的点(我曾经错过的点).一共是九个个题目,这篇文章先分享四个题目,分别是1.移除链表元素(对应力扣第203题)力扣203题 ----- 2.反转链表力扣206题-----3.链表的中间结点力扣876题-----4.链表倒数第n个结点力扣19题,这个地方我们都先用C语言来实现

热门文章

最新文章