/*
找出2个链表的长度,然后让长的先走两个链表的长度差,然后再一起走
(因为2个链表用公共的尾部)
*/
class Solution {
public:ListNode* FindFirstCommonNode( ListNode *pHead1, ListNode *pHead2) {int len1 = findListLenth(pHead1);int len2 = findListLenth(pHead2);if(len1 > len2){pHead1 = walkStep(pHead1,len1 - len2);}else{pHead2 = walkStep(pHead2,len2 - len1);}while(pHead1 != NULL){if(pHead1 == pHead2) return pHead1;pHead1 = pHead1->next;pHead2 = pHead2->next;}return NULL;}int findListLenth(ListNode *pHead1){if(pHead1 == NULL) return 0;int sum = 1;while(pHead1 = pHead1->next) sum++;return sum;}ListNode* walkStep(ListNode *pHead1, int step){while(step--){pHead1 = pHead1->next;}return pHead1;}
};

转载于:https://www.cnblogs.com/developing/articles/10960265.html

36.两个链表的第一个公共结点——剑指offer相关推荐

  1. 《剑指Offer》Java刷题 NO.36 两个链表的第一个公共结点(链表,等长拼接法,长者先行法,辅助栈)

    <剑指Offer>Java刷题 NO.36 两个链表的第一个公共结点(链表,等长拼接法,长者先行法,辅助栈) 传送门:<剑指Offer刷题总目录> 时间:2020-06-19 ...

  2. 36 剑指offer--链表--两个链表的第一个公共结点

                               两个链表的第一个公共结点 题目 输入两个链表,找出它们的第一个公共结点. 思路 这道题和160.Intersection of Two Linke ...

  3. 37. 两个链表的第一个公共结点

    为什么80%的码农都做不了架构师?>>>    题目:输入两个链表,找出它们的第一个公共结点. 思路:先遍历两个链表得出它们各自的长度,然后让长链表先走,直到长度和短的一致,然后两个 ...

  4. 《剑指offer》-- 两个链表的第一个公共结点、链表中环的入口结点、删除链表中的重复结点

    一.两个链表的第一个公共结点: 1.题目: 输入两个链表,找出它们的第一个公共结点. 2.解题思路: (1)第一种:找出两个链表的长度,然后让长的链表先走两个链表的长度差,接着两个链表一起走. (2) ...

  5. [转] 程序员面试题精选100题(35)-找出两个链表的第一个公共结点

    [转] http://hi.baidu.com/evrest/blog/item/bb9365fc7569378ab801a059.html 题目:两个单向链表,找出它们的第一个公共结点. 链表的结点 ...

  6. [剑指offer]面试题37:两个链表的第一个公共结点

    面试题37:两个链表的第一个公共结点 题目:输入两个链表,找出它们的第一个公共结点.链表结点定义如下: struct ListNode {int val;ListNode *next;ListNode ...

  7. 牛客题霸 [两个链表的第一个公共结点] C++题解/答案

    牛客题霸 [两个链表的第一个公共结点] C++题解/答案 题目描述 输入两个链表,找出它们的第一个公共结点.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保证传入数据是正确的) ...

  8. 求两个链表的第一个公共结点各种情况及三种思路分析

    转自:http://blog.csdn.net/ssopp24/article/details/72377184 1.寻找两个链表的第一个公共结//这道题可以有很多种思路, 我们按照, 有坏到好的顺序 ...

  9. c++ 链表_剑指offer系列——52. 两个链表的第一个公共结点

    题目链接门 两个链表的第一个公共结点_牛客网​www.nowcoder.com 题目描述 输入两个链表,找出它们的第一个公共结点.(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的,保 ...

最新文章

  1. opencv计算亮度
  2. 使用jMeter构造逻辑上有依赖关系的一系列并发请求
  3. mysql 内置功能 函数 date_format函数
  4. java system类_Java System类mapLibraryName()方法及示例
  5. java web高级编程 百度网盘_[有书共享]JavaWeb高级编程
  6. MinIO Azure 网关 ​​​​​​​
  7. 计算机网络生活应用,浅谈计算机网络在生活中的应用
  8. JavaScript文档对象
  9. android炫彩跑马灯特效,盘点一下那些自带酷炫跑马灯效果的手机,最后一款几乎没人知道...
  10. API接口版本控制的实现方式
  11. 如何在linux系统中安装虚拟机?
  12. 基于单片机的多功能数字时钟设计
  13. 2023最新计算机毕业设计题目汇总大全
  14. 【压缩感知合集3】压缩感知的背景与意义
  15. Tensorflow 源码编译笔记(C++/C层)
  16. CNN-台大李宏毅学习笔记
  17. 用win系统PC或笔记本作为Mac的扩展屏
  18. 怎样判断c语言编程错误,C语言编程出错
  19. Matlab中uigetfile( ) iscell() 函数的使用
  20. edge黑色主题/夜间模式(包括页面也是)

热门文章

  1. 搜集《ASP.NET中常用的26个优化性能方法》
  2. 命令行收集(DOS/Linux/nc/xscan/xsniffer)
  3. python excel操作单元格_python 操作excel表格的方法
  4. linux离线安装g 报错,Linux离线安装mysql 5.6详细步骤
  5. php类退出魔术方法,php类中常用的魔术方法
  6. python统计csv行数_对Python 多线程统计所有csv文件的行数方法详解
  7. 一键部署dns服务_OpenShift : 通往云原生、DevOps、微服务和Serverless的大门
  8. is this mysql server_远程连接MySQL数据库报错:is not allowed to connect to this MYSQL server的解决办法...
  9. java ee jsp程序_JavaEE——jsp介绍
  10. python wait_window_pywinauto客户端自动化---窗口等待方法