两单向链表相交问题
来源:互联网 发布:输入 排序 c语言 编辑:程序博客网 时间:2024/05/16 13:43
给出两个单向链表的头指针,比如 h1、h2,
判断链表是否相交,如果不相交返回 NULL;如果相交,返回指向第一个相交节点的指针;
时间复杂度控制在 O(n)的前提下。
这道题首先要弄明白的是,两单向链表相交的话,一定是 Y 型相交,不可能出现 X型,弄清楚这点后接
下来的工作就是:
(1)先找到 h1,h2 的最后一个节点 p1 和p2,同时记录节点数量 a,b;
(2)判断最后一个节点是否相同;
如果不相同则没相交;
如果相同,则从第一个节点和|a-b|+1 个节点开始比较,看是否相等,不相等就寻找下一个节点直到找到
交叉点。
- 两单向链表相交问题
- 两单向链表相交问题
- 程序员面试题精选(33):两单向链表相交问题
- 两条相交的单向链表,如何求他们的第一个公共节点
- 判断两个单向链表是否相交
- 两个单向链表是否相交 汇总
- 链表相交问题
- 链表相交问题
- 链表相交问题
- 链表相交问题
- 链表相交问题
- 链表相交问题
- 链表相交问题
- 链表相交问题
- 链表相交问题
- 两个单向链表相交,找到第一个公共节点
- 判断两个无环单向链表/有环单向链表是否相交,并返回相交节点
- Josephu问题 单向链表
- SQLite数据库的使用
- java 设计模式 学习笔记(10) 外观模式
- 二元树的深度
- 偷懒
- 字符串的排列
- 两单向链表相交问题
- 用 C++ 设计一个不能被继承的类
- 找两个链表的第一个公共结点
- 登陆isqlplus dba(oracle10g)
- 最长递增子序列
- java:struts2 tag ->iterator
- [转]如何让 Win7 下的桌面应用程序以管理员权限运行
- Linux下swap分区没有UUID解决办法
- 精灵进程