剑指offer:两个链表的第一个公共结点输入两个链表,找出它们的第一个公共结点。
来源:互联网 发布:ftp服务器软件 serv 编辑:程序博客网 时间:2024/05/15 05:17
输入两个链表,找出它们的第一个公共结点。如果没有公共节点,则输出NULL;
struct ListNode {int val;struct ListNode *next;ListNode(int x) :val(x), next(NULL) {}};ListNode* FindFirstCommonNode(ListNode *pHead1, ListNode *pHead2) {int len1 = 0, len2 = 0;int sublen = 0;ListNode* temp1 = pHead1;ListNode* temp2 = pHead2;if (pHead1 == NULL || pHead2 == NULL)return NULL;/* 求两个链表的长度 */while (temp1){len1++;temp1 = temp1->next;}while (temp2){len2++;temp2 = temp2->next;}temp1 = pHead1;temp2 = pHead2;/* 判断两个链表哪个比较长 */if (len1 > len2){sublen = len1 - len2;while (sublen--){temp1 = temp1->next;}}else if (len2 > len1){sublen = len2 - len1;while (sublen--){temp2 = temp2->next;}}/* 找公共节点 */while (temp1 != NULL){if (temp1 == temp2)break;temp1 = temp1->next;temp2 = temp2->next;}return temp1;}
0 0
- 【剑指offer】输入两个链表,找出它们的第一个公共结点。
- 剑指offer:两个链表的第一个公共结点输入两个链表,找出它们的第一个公共结点。
- (剑指offer)两个单向链表,找出它们的第一个公共结点
- 输入两个链表,找出它们的第一个公共结点。
- 输入两个链表,找出它们的第一个公共结点
- 题目:输入两个链表,找出它们的第一个公共结点
- 输入两个链表,找出它们的第一个公共结点
- 28.输入两个链表,找出它们的第一个公共结点。
- 输入两个链表,找出它们的第一个公共结点
- 输入两个链表,找出它们的第一个公共结点。
- 输入两个链表,找出它们的第一个公共结点
- 输入两个链表,找出它们的第一个公共结点。
- 输入两个链表,找出它们的第一个公共结点
- 【剑指offer】两个链表的第一个公共结点
- 剑指offer--两个链表的第一个公共结点
- 《剑指offer》两个链表的第一个公共结点
- 剑指offer 两个链表的第一个公共结点
- 剑指offer:两个链表的第一个公共结点
- hibernate的session.connection被session.dowork()顶替
- 给textView自适应高度
- C语言学生管理系统项目
- C++有子对象的派生类的构造函数
- iOS数据的持久化(沙盒)
- 剑指offer:两个链表的第一个公共结点输入两个链表,找出它们的第一个公共结点。
- 解决中文PDF 因为未嵌入字体导致在某些环境下的乱码问题
- 【微信公众平台开发】借用微信内置图片浏览功能
- 矩阵的LU分解———学习笔记 ,转载自chinaunix
- hibernate修改数据库已有的对象【简化操作】
- Arduino制作温湿度计
- C++引用&概念及用法
- 异常
- 剑指offer--链表中倒数第k个结点-java