博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【刷算法】两个链表的第一个公共结点
阅读量:6804 次
发布时间:2019-06-26

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

题目描述

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

分析

考虑到两个链表不一样长的情况,算出两个链表的长度差,然后长的链表要先把长度差走完,然后两个链表再一起走。

代码实现

/*function ListNode(x){    this.val = x;    this.next = null;}*/function FindFirstCommonNode(h1, h2){    var h1Len = 0, h2Len = 0;    var cur = h1;        while(cur!==null){        h1Len++;        cur = cur.next;    }        cur = h2;    while(cur!==null){        h2Len++;        cur = cur.next;    }        var distance = 0;    var t1, t2;    if(h1Len > h2Len){        t1 = h1;        t2 = h2;        distance = h1Len - h2Len;    }else{        t1 = h2;        t2 = h1;        distance = h2Len - h1Len;    }        while(distance !== 0){        t1 = t1.next;        distance--;    }        while(t1 !== t2){        t1 = t1.next;        t2 = t2.next;    }        return t1;}

转载地址:http://hynwl.baihongyu.com/

你可能感兴趣的文章
20165206 2017-2018-2《Java程序设计》课程总结
查看>>
【SignalR学习系列】5. SignalR WPF程序
查看>>
【2011.09.01】如何使用javaScript代码获取系统时间和日期?
查看>>
data guard switchover切换异常
查看>>
领悟javascript中的exec与match方法
查看>>
Linux内核--网络协议栈深入分析(五)--套接字的绑定、监听、连接和断开
查看>>
Mysql索引详解及优化(key和index区别)
查看>>
unittest用例的执行顺序
查看>>
随笔学习初谈
查看>>
指令与数据
查看>>
iOS Document Interaction 编程指南
查看>>
HTTP返回的状态码
查看>>
sql创建表格 转载
查看>>
请求接口的封装
查看>>
【050】World Flag Database
查看>>
MySQL server has gone away 的两个最常见的可能性
查看>>
结对编程作业——电梯调度
查看>>
MongoDB状态查询:db.serverStatus()
查看>>
网络编程
查看>>
JS 特殊字符的验证的问题
查看>>