【链表】两个链表的第一个公共结点
思路:
首先使两个链表“一样长”,那么两个指针到了公共的节点一定是走了相同的步数。
操作:p->1,q->2。求len1,len2。使其中长的链表的指针向后移动|len2-len1|步,那么这两个以指针节点为头结点链表长度相等。
/*
public class ListNode {int val;ListNode next = null;ListNode(int val) {this.val = val;}
}*/
public class Solution {public ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {int len1=length(pHead1);int len2=length(pHead2);ListNode p=pHead1;ListNode q=pHead2;if(len1>len2){int step=len1-len2;for(int i=0;i<step;i++){ p=p.next; }}else{int step=len2-len1;for(int i=0;i<step;i++){q=q.next;}}while(p!=null&&q!=null){if(p==q){return p;}else{p=p.next;q=q.next;}}return null;}int length(ListNode pHead){if(pHead==null)return 0;int len=0;ListNode p=pHead;while(p!=null){p=p.next;len++;}return len;}
}
【链表】两个链表的第一个公共结点相关推荐
- 剑指offer三十六之两个链表的第一个公共结点
一.题目 输入两个链表,找出它们的第一个公共结点. 二.思路 如果存在共同节点的话,那么从该节点,两个链表之后的元素都是相同的.也就是说两个链表从尾部往前到某个点,节点都是一样的.我们可以用两个栈分别 ...
- 37. 两个链表的第一个公共结点
为什么80%的码农都做不了架构师?>>> 题目:输入两个链表,找出它们的第一个公共结点. 思路:先遍历两个链表得出它们各自的长度,然后让长链表先走,直到长度和短的一致,然后两个 ...
- [剑指offer] 两个链表的第一个公共结点
本文首发于我的个人博客:尾尾部落 题目描述 输入两个链表,找出它们的第一个公共结点. 解题思路 如果两个链表存在公共结点,那么它们从公共结点开始一直到链表的结尾都是一样的,因此我们只需要从链表的结尾开 ...
- 剑指offer:两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点. 解题思路 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) :va ...
- 常考数据结构与算法:两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) 面试的时候碰到这道题,很多应聘者的第一反应就是蛮力法:在第 ...
- 【刷算法】两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点. 分析 考虑到两个链表不一样长的情况,算出两个链表的长度差,然后长的链表要先把长度差走完,然后两个链表再一起走. 代码实现 /*function Li ...
- 程序员面试题精选100题(35)-两链表的第一个公共结点[数据结构]
题目:两个单向链表,找出它们的第一个公共结点. 链表的结点定义为: struct ListNode { int m_nKey; ListNode* m_pNext; }; 分析:这 ...
- 面试题37:两个链表的第一个公共结点
题目描述 输入两个链表,找出它们的第一个公共结点.链表结点定义如下: 题目分析 剑指Offer(纪念版)P193 思路三 代码实现 ListNode* FindFirstCommonNode( Lis ...
- 《剑指offer》-- 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点
一.两个链表的第一个公共结点: 1.题目: 输入两个链表,找出它们的第一个公共结点. 2.解题思路: (1)第一种:找出两个链表的长度,然后让长的链表先走两个链表的长度差,接着两个链表一起走. (2) ...
- [转] 程序员面试题精选100题(35)-找出两个链表的第一个公共结点
[转] http://hi.baidu.com/evrest/blog/item/bb9365fc7569378ab801a059.html 题目:两个单向链表,找出它们的第一个公共结点. 链表的结点 ...
最新文章
- htaccess文件用法收集整理
- Linux 下搭建 WordPress 个人站点
- 百度造车和RoboTaxi利好自动驾驶?不,利好茅台
- Java中活锁和死锁有什么区别?
- case --when
- 10 张图带你深入理解Docker容器和镜像
- 第十七节(is-a 、is-like-a 、has-a,包和 import )
- C语言 文件读写 ferror 函数 - C语言零基础入门教程
- CVPR 2021 3D视觉相关最新进展分享
- java 打包 根目录_java – Maven在jar文件的根目录中打包图像
- 12306一直提示网络有问题_春运攻略:西安网友买票遇到的这些问题,这里有答案...
- wpf 加载page后启动_App启动之Dyld在做什么
- 主键和索引哪个快_字节一面,被连问 MySQL 索引,脸都问绿了。。。
- UNIX环境高级编程——记录上锁(fcntl函数)以及死锁检测
- 研发项目如何配置看板的任务流转
- 第一章:操作系统引论
- Samba 常用服务器搭建操作过程
- 访问oracle数据库语句,Oracle数据库SQL ——Select 语句使用方法
- VMware Ubuntu 联网
- Drools-决策表