判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】(C语言)
来源:互联网 发布:淘宝女装上下架时间 编辑:程序博客网 时间:2024/06/06 03:18
int IsListCroseWithCycle(PSListNode pL1, PSListNode pL2){ PSListNode pMeetNode1 = HasCycle(pL1); PSListNode pMeetNode2 = HasCycle(pL2); if ((NULL == pL1) || (NULL == pL2)) { return 0; } //两个链表都没环的情况 else if ((NULL == pMeetNode1) && (NULL==pMeetNode2)) { PSListNode PSList1 = pL1; PSListNode PSList2 = pL2; while (NULL != PSList1->pNextNode) { PSList1 = PSList1->pNextNode; } while (NULL != PSList2->pNextNode) { PSList2 = PSList2->pNextNode; } //不带环的两个链表相交,那么它们的最后一个结点的指针的值一定是相等的 if (PSList1 == PSList2) { return 1; } else { return 0; } } // 两个链表都有环的情况(这种情况肯定是两个链表共用一个环) else if ((NULL != pMeetNode1) && (NULL != pMeetNode2)) { while (pMeetNode1->pNextNode != pMeetNode1) { //找到一个链表中处于环中的点,遍历另一个链表中环中的点,看他们是否会出现相等的情况,出现,则可能相交 if (pMeetNode1 == pMeetNode2) { return 1; } pMeetNode1 = pMeetNode1->pNextNode; } //跳出循环时,遍历的组后一个结点还没进行比较,此处处理这种情况 if (pMeetNode1 == pMeetNode2) { return 1; } else { return 0; } } // 一个链表有环,一个没环,这种情况不会相交 else { return 0; }}
0 0
- 判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】(C语言)
- 1.判断两个链表是否相交,若相交,求交点。(假设链表不带环)2.判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】
- 1.判断两个链表是否相交,若相交,求交点。(假设链表不带环)2.判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】
- 判断两个链表是否相交,若相交,求交点。(假设链表不带环)(C语言)
- 链表--1.判断两个链表是否相交,若相交,求交点。(假设链表不带环)2.判断两个链表是否相交,若相交,求交点。(假设链表可能带环)
- 判断两个链表是否相交,若相交,求交点。(假设链表带环、不带环)
- 求两个链表是否相交,若相交,求交点(链表可能带环)
- 判断两链表是否相交,若相交求交点(链表可能带环)
- 判断两个链表是否相交?若相交,求交点(假设链表带环)
- 判断两个链表是否相交,若相交,求交点:1.不带环。2.有可能带环
- ]数据结构:单链表之判断两个链表是否相交及求交点(带环、不带环)
- 判断两个链表是否相交,若相交,求交点,若带环呢/fork继承问题
- 判断两个链表是否相交,若相交,求交点,考虑带环情况实现代码
- 每日一刷——1.判断两个链表是否相交,若相交求交点(链表不带环&带环)2.fork()问题
- 判断两个链表是否相交,若相交,求交点。
- 判断两个链表是否相交,若相交,求交点
- 判断两个链表是否相交,若相交,求交点
- 如何判断两个链表是否相交。(假设链表带环、不带环)
- Python学习
- 阻塞队列实现生产者消费者模式
- 判断两个链表是否相交,若相交,求交点。(假设链表不带环)(C语言)
- 基数排序
- const用法
- 判断两个链表是否相交,若相交,求交点。(假设链表可能带环)【升级版】(C语言)
- Oracle VM + centos7.1+openstack kilo 多结点安装教程---keystone的安装(2)
- 回文链表
- const常见用法
- 单向链表
- 求链表相交时的交点(C语言)
- Linux make 命令与 makefile 文件
- 数据挖掘之距离计算算法
- JAVA实现有理数的运算+JAVA中的适配器模式