编程之美:编程判断两个链表是否相交
摘要:
1.问题描述给出两个单向链表的头指针,比如h1、h2,判断两个链表是否相交。编程之美为了简化问题,假设两个链表均不带环。如下图:2.分析与解法解法一:直观法,先判断第一个链表的每个节点是否在第二个链表中,这种方法时间复杂度为O(Length(h1)*Length(h2))解法二:hash表计数法,首先将第一个链表的所有节点地址进行hash排序,建立hash表,然后针对第二个链表的每个节点的地址,查询hash表,如果它在hash表中存在,那么说明两个链表有交点。这个方法时间复杂度O(Length(h1)+Length(h2)),空间复杂度O(Length(h1))。解法三:转换为是否有环问题,可 阅读全文
posted @ 2012-08-17 14:54 as_ 阅读(2820) 评论(0) 推荐(0) 编辑