题目描述

请写一个程序,找到两个单链表最开始的交叉节点。

  • 如果两个链表没有交叉,返回null
  • 在返回结果后,两个链表仍须保持原有的结构。
  • 可假定整个链表结构中没有循环。

样例 1:

输入:A:          a1 → a2↘c1 → c2 → c3↗            B:     b1 → b2 → b3
输出:c1
解释:在节点 c1 开始交叉。

样例 2:

输入:
Intersected at 6
1->2->3->4->5->6->7->8->9->10->11->12->13->null
6->7->8->9->10->11->12->13->null
输出: Intersected at 6
解释:begin to intersect at node 6.

题解

国内大厂面试除了操作系统和计算机网络这些基础外,还需要熟练掌握算法和数据结构。

比起自己刷题,有大神带着刷肯定更好,专业的算法课程可以随问随答,在最短时间内提高算法水平,应对大厂面试。

/**
* This reference program is provided by @jiuzhang.com
* Copyright is reserved. Please indicate the source for forwarding
*/public class Solution {/*** @param headA: the first list* @param headB: the second list* @return: a ListNode */public ListNode getIntersectionNode(ListNode headA, ListNode headB) {if (headA == null || headB == null) {return null;}// get the tail of list A.ListNode node = headA;while (node.next != null) {node = node.next;}node.next = headB;ListNode result = listCycleII(headA);node.next = null;return result;}private ListNode listCycleII(ListNode head) {ListNode slow = head, fast = head.next;while (slow != fast) {if (fast == null || fast.next == null) {return null;}slow = slow.next;fast = fast.next.next;}slow = head;fast = fast.next;while (slow != fast) {slow = slow.next;fast = fast.next;}return slow;}
}

【LintCode 题解】阿里面试算法题:两个链表的交叉相关推荐

  1. 云合智网 面试算法题 两个字符串相乘,例如“12345“ * “54321“,字符串不能直接转换为整型

    题目 两个字符串相乘,例如"12345" * "54321",字符串不能直接转换为整型 public class StringMultiplication {p ...

  2. Java常见的面试算法题:实现两个线程交替打印1到100的数

    Java常见的面试算法题:实现两个线程交替打印1到100的数 思路: 这是涉及到多个线程打印的问题,一定会用到锁的(synchronized),故这就是一个多线程打印的典型案例. 代码实现: pack ...

  3. 常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可)

    常见的面试算法题:创建几个线程按顺序打印数字或者字母(多线程编程)(套用该模板即可) 比较典型的题目,如下有: 题目一: 1.启动3个线程打印递增的数字, 线程1先打印1,2,3,4,5, 然后是线程 ...

  4. 常考面试算法题类型总结(来自知乎)

    作者:牛客网 链接:https://www.zhihu.com/question/24964987/answer/200681301 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  5. 力扣高频算法php_互联网公司最常见的面试算法题有哪些?

    很多时候,你即使提前复习了这些最常见的面试算法题,你依旧无法通过算法面试! 为什么?你在提前准备复习的时候,在网上找了半天相应题目的分析文章,但你看了就是不懂. 你在面试的时候,卡壳了,一时间忘了怎么 ...

  6. 互联网公司最常见的面试算法题大集合!

      转载于 新智元   来源:Github 编辑:元子 [导读]LeetCode是一个美国的在线编程网站,收集了各个大厂的笔试面试题,对找工作的毕业生和开发者来说,非常有价值.很多求职者都会在Leet ...

  7. 字节跳动2021年4月面试算法题库

    本文汇总了牛客2021.4.1~2021.4.30 面经考到的Leetcode题目 最终的高频题榜单数据可以在CodeTop题库(https://codetop.cc)查询,支持按部门.岗位分类筛选. ...

  8. C++经典面试算法题

    #include <assert.h> #include <string.h> #include <stack>// // C++ 经典面试算法题 [7/28/20 ...

  9. 【笔试面试题】腾讯2013实习生面试算法题及参考答案

    总结了一下自己遇到的以及同学遇到的面试算法题,是技术二面. 有几道题给出了参考答案,还有几道没有好的思路.路过的大侠如果有好的思路请留个言交流下呗~ 1.八数码问题:3*3的格子,有1~8个数,空了一 ...

最新文章

  1. ndbcluster 批量修改表空间_Excel小技巧:使用这招快速保护你的工作表
  2. linux的变量用法
  3. oracle在非归档模式下,Oracle在非归档模式下不能更改表空间为备份模式
  4. Cocoapods安装过程【转载】
  5. 机器学习图像源代码_使用带有代码的机器学习进行快速房地产图像分类
  6. Oracle_11g_R1和R2官方下载地址
  7. Bootstrap 按钮下拉菜单
  8. 升级到新SQL Server版本
  9. 王欣的“灵鸽”到底行不行?
  10. 深入理解 Linux 内存机制!| 技术头条
  11. C# Dispose模式详细分析
  12. android selector(转)
  13. (四)通用定时器的定时功能(使用中断)
  14. 大数据技术_ 基础理论 之 数据采集与预处理
  15. RTMP播放器网页互联网直播音视频流媒体播放器EasyPlayer-RTMP-iOS播放H265格式的视频源
  16. android logo颜色渐变,华为Logo悄然换新:去掉渐变色,更加扁平化
  17. uni-app +vue+微信小程序 发布线上
  18. 当AI走进工厂,“小轴承”也可以转动“大产业”
  19. infiniband rmmod: ERROR: Module xxxx is in use by:yyyyy
  20. ISO14443 Type A类型卡的防碰撞过程以及命令解析

热门文章

  1. 来看看我在CSDN上的好朋友们吧,看看有没有你
  2. 国家第一梯队!开物入选特色专业型工业互联网平台
  3. 开启吉利动力4.0时代 全球动力科技品牌“雷神动力”正式发布
  4. lamp是什么,开发是什么
  5. XmlDocument操作XML
  6. 软件测试面试——如何测试一个杯子
  7. 硬盘U盘提示格式化数据恢复
  8. 写写这几年的工作经历
  9. 表格组件——ag-Grid研究
  10. 智能车ROS虚拟机GAZEBO运行卡顿,掉帧