两个链表的第一个公共节点
来源:互联网 发布:webpack php 编辑:程序博客网 时间:2024/06/10 21:13
#include <iostream>#include <algorithm>using namespace std;class List{public: int val; List *next;};void create(List *L){ List* p = new List; int data; cin>>data; p->val = data; while(data!=0) { p->next = NULL; L->next = p; L = L->next; p = new List; cin>>data; p->val = data; }}int getLength(List *L){ List *p = L->next; int count = 0; while(p) { count++; p=p->next; } return count;}int find_x(List *L1,List *L2){ int len1 = 0,len2 = 0; List *p1 = L1->next; List *p2 = L2->next; while(p1) { len1++; p1=p1->next; } while(p2) { len2++; p2=p2->next; } int bias = (len1>len2?len1:len2)-(len1<len2?len1:len2); p1=L1->next; p2=L2->next; if(len1<len2) { for(int i=0;i<bias;++i) { p2=p2->next; } } else if(len1>len2) { for(int i=0;i<bias;++i) { p1=p1->next; } } while(p1&&p2) { if(p1->val==p2->val) break; p1=p1->next; p2=p2->next; } return p1->val;}void show(List *L){ List *p = L->next; while(p) { cout<<p->val<<" "; p=p->next; } cout<<endl;}int main(){ List *L1 = new List; List *L2 = new List; L1->next = NULL; L2->next = NULL; create(L1); create(L2); cout<<find_x(L1,L2)<<endl; return 0;}
阅读全文
0 0
- 两个链表的公共第一个公共节点
- 找到两个单向链表的第一个公共节点
- 找到两个单向链表的第一个公共节点
- 找到两个单向链表的第一个公共节点
- 两个单向链表的第一个公共节点
- 两个链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 两个链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 寻找两个相交链表的第一个公共节点
- 两个链表的第一个公共节点
- 两个链表的第一个公共节点
- 找出两个链表的第一个公共节点
- (LeetCode)两个链表的第一个公共节点
- 37 - 两个链表的第一个公共节点
- 两个链表的第一个公共节点
- 剑指offer-两个链表的第一个公共节点
- 两个链表的第一个公共节点
- 发布使用SSL的Web Service
- 欢迎使用CSDN-markdown编辑器
- API网关
- Tomcat version 7.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 and 6 Web
- 8086/8088 存储器分段概念
- 两个链表的第一个公共节点
- Android实战杂记
- 算法分析课每周练习 First Missing Positive
- 意图相关工具类
- SQL 的相关概念DQL DML DDL
- 单链表常见面试题
- SQLite数据库框架ORMLite与GreenDao的简单比较
- Maven项目通过配置文件读取证书问题
- Zuul:智能路由和过滤(译)