题目描述

输入两个链表,找出它们的第一个公共结点。

【思路】找出两个链表的长度,然后让长的走两个链表的长度差,然后再一起走(因为两个链表用公共的尾部)。

 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 {
11 public:
12     int Find_Length(ListNode* p){
13         int len = 0;
14         while(p){
15             len ++;
16             p = p->next;
17         }
18         return len;
19     }
20     void Walk_Step(ListNode* &p,int x){
21         while(x--){
22             p = p->next;
23         }
24     }
25     ListNode* FindFirstCommonNode( ListNode* pHead1, ListNode* pHead2)
26     {
27         int len1 = Find_Length(pHead1);
28         int len2 = Find_Length(pHead2);
29         int x = abs(len1 - len2);
30         if(len1 < len2)
31             Walk_Step(pHead2,x);
32         else
33             Walk_Step(pHead1,x);
34         while(pHead1 != pHead2){
35             pHead1 = pHead1->next;
36             pHead2 = pHead2->next;
37         }
38         return pHead1;
39     }
40 };

转载于:https://www.cnblogs.com/lca1826/p/6515634.html

[剑指Offer] 36.两个链表的第一个公共结点相关推荐

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

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

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

    题目描述 输入两个链表,找出它们的第一个公共结点. 解题思路 /* struct ListNode {int val;struct ListNode *next;ListNode(int x) :va ...

  3. 【LeetCode】剑指 Offer 52. 两个链表的第一个公共节点

    [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 文章目录 [LeetCode]剑指 Offer 52. 两个链表的第一个公共节点 一.双指针 一.双指针 设 "第一个 ...

  4. 剑指 Offer 52. 两个链表的第一个公共节点

    题目:剑指 Offer 52. 两个链表的第一个公共节点 ,哈哈,我们今天来看一道很简单的题嘛,这是选自剑指 Offer 上的一道题,好了,我们一起来看看题意吧: 考虑到直接复制题目,或者截屏的方式不 ...

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

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

  6. 《剑指offer》两个链表的第一个公共节点

    题目:输入两个链表,找出它们的第一个公共结点. 解析:暴力更直接.直接遍历两个链表分别存储到list1.list2,然后在list1和list2中找公共节点就好了 /* public class Li ...

  7. 剑指Offer之两个链表的第一个公共节点

    题目描述 输入两个链表,找出它们的第一个公共结点. 解题思路 首先,如果都是空链表,那么肯定返回空.两个单链表假设有公共节点,那么肯定是"Y"字型的. 先计算两个链表的长度,求出长 ...

  8. 【Java】剑指 Offer 52. 两个链表的第一个公共节点

    题目 :输入两个链表,找出它们的第一个公共节点. 算法思路 : 首先我们要明确,两个链表相交,是Y形状的 两个链表相交,是next域相同 因为两个单链表的长度是不一样的,所以我们需要让长的那个链表,引 ...

  9. 剑指 Offer 52. 两个链表的第一个公共节点(C语言)

    *输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交. 示例 1: 输入:intersectVal = 8, listA = [4,1,8,4,5], listB = ...

  10. 【算法】剑指 Offer 52. 两个链表的第一个公共节点

    文章目录 1.概述 2. 有序 3. 循环 4. set集合 1.概述 输入两个链表,找出它们的第一个公共节点. 如下面的两个链表: 在节点 c1 开始相交.

最新文章

  1. ERROR: JVMPI, an experimental interface, is no longer supported.
  2. python3精要(5)-最长公共前缀Trie树
  3. Appleman and Tree CodeForces - 461B(树形dp)
  4. [导入]流氓软件案落定 “很棒小秘书”终审败诉
  5. Python入门:Anaconda和Pycharm的安装和配置
  6. java 获取自绘窗口_iPhone中自绘实现步骤
  7. lorenz系统simulink仿真_simulink控制系统仿真之控制系统的分析方法(2)(频域分析法)...
  8. 20151209小问题
  9. abovedisplayskip无效_初学latex的模板,里面有错,哪位大神能不能帮忙看看啊?不甚感激!...
  10. 怎么在长方体上挖孔_被雷军狂喷的挖孔屏到底好不好?分析你必须知道的优缺点!...
  11. GoodUserInterface 模仿页面功能
  12. 计算机机房安全管理问题与措施,机房管理中存在的问题及处理对策
  13. android app 检测是否开启了开发者模式
  14. 2014年9月-前端开发月刊
  15. 中柏pad7安装linux,中柏电脑下载与安装win7iso镜像系统教程
  16. Wireshark抓取VLAN包
  17. 程序性能优化之编译器篇(Racoon)
  18. MP4文件格式简要解析---代码解析
  19. G.726音频编解码原理介绍
  20. java 类大写_记java实体类属性名为全部为大写踩的坑(基础)

热门文章

  1. nyoj1110 一个简单数学题
  2. apache php的权限,Unix上的Apache PHP写权限
  3. PAT 乙级A1025 适合当算法入门练习题做
  4. 初学者C语言输入输出挖坑填补处须知
  5. .net 考试系统人一多就断开了_【项目】Java在线考试系统
  6. ppocr 源码阅读:ppocr.modeling.architecures 之build_model模块
  7. wsl2安装cuda方法——官方教程走不通
  8. 14Penrose广义逆(II)
  9. matlab聚类分析_数据挖掘——聚类分析
  10. h5商城模板_几个常用H5制作软件、网站推荐