博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Offer 两个链表的第一个公共结点
阅读量:4980 次
发布时间:2019-06-12

本文共 837 字,大约阅读时间需要 2 分钟。

题目描述

输入两个链表,找出它们的第一个公共结点。
 
思路:
题目说的很笼统,应该是有2个链表,找出公共点,第一个公共点后面的链表是共同所有的。可以用map做,直接检测map里有没有出现这个节点。
思路2:
统计2个链表的长度,i,j,长的链表先走|i-j|步,再一起走,如果有公共点,他们必然有共同的尾节点,判断相等的节点就是第一个出现的节点。
 
AC代码:
1 /* 2 struct ListNode { 3     int val; 4     struct ListNode *next; 5     ListNode(int x) : 6             val(x), next(NULL) { 7     } 8 };*/ 9 class Solution {10 public:11     ListNode* FindFirstCommonNode( ListNode *pHead1, ListNode *pHead2) {12         map
pmap;13 ListNode *p=pHead1;14 while(p!=NULL)15 {16 pmap[p]=1;17 p=p->next;18 }19 p=pHead2;20 while(p!=NULL) 21 {22 if(pmap[p])23 return p;24 p=p->next;25 }26 return NULL;27 }28 };

 

 
 
 

转载于:https://www.cnblogs.com/SeekHit/p/5803393.html

你可能感兴趣的文章
对变量的理解
查看>>
第二阶段冲刺—第三天
查看>>
c/c++ 继承与多态 容器与继承1
查看>>
安卓程序代写 网上程序代写[原]Call requires API level 8 (current min is 1)错误
查看>>
C#正则表达式整理备忘
查看>>
[转载]读史札记21:出局依然是英雄
查看>>
java_Timer_schedule jdk自带定时器
查看>>
java_JFrame_demo
查看>>
六边形地图Cube coordinates理解
查看>>
UVA 230 Borrowers (STL 行读入的处理 重载小于号)
查看>>
Java的final关键字
查看>>
PHP获取Post的原始数据方法小结
查看>>
ubuntu10.04搭建android开发环境
查看>>
hdu 2243
查看>>
[UE4]一分钟实现聊天系统
查看>>
Python和Java哪个更适合做自动化测试?
查看>>
java Web 监听器Listener详解
查看>>
CAS tomcat6搭建
查看>>
九、java容器
查看>>
用shell脚本执行mysql脚本
查看>>