链表的几个思考题

链表若干


1.怎么判断链表中是否有环?
(附:怎么快速检测出一个巨大的链表中的死链?)

2.给你一个单向循环链表,怎么找出这个链表循环部分的第一个节点?

3.链表逆序?

4.一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点?

5.给定一个链表的头指针,在一次遍历中,找出这个链表中的中间节点并返回。

6.查找链表中倒数第k个节点(只允许遍历链表一次)

7.编写实现链表排序的一种算法

8.找两个链表的第一个公共节点

----------------------------
有几个脑壳瓜子都想破都没想一丁点头绪。。。。看来智力还是颇为有限。。。。。

1.怎么判断链表中是否有环?
(附:怎么快速检测出一个巨大的链表中的死链?)
两个指针
一个步长为1,一个步长为2,同时移动。判断其是否相等。
如果数据量巨大的话,http://topic.csdn.net/t/20040906/09/3343269.html

2.给你一个单向循环链表,怎么找出这个链表循环部分的第一个节点?
跟第一个略有不同。第一个只是判断是否有环,而这个是要找出第一个节点。
标记法不错。hash也可以,貌似

3.链表逆序?

4.一个单向链表,不知道头节点,一个指针指向其中的一个节点,问如何删除这个指针指向的节点?
把next节点的key区域复制到本节点,然后删除next节点

5.给定一个链表的头指针,在一次遍历中,找出这个链表中的中间节点并返回。
和1类似

6.查找链表中倒数第k个节点
两个指针,保持距离k

7.编写实现链表排序的一种算法
感觉,插入排序最直接。快排也行,要复杂些,貌似。

8.找两个链表的第一个公共节点
如果有公共节点,那么该节点后面的节点全部都是两链表公共部分。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值