博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
160. Intersection of Two Linked Lists
阅读量:4702 次
发布时间:2019-06-09

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

先各遍历一次看是不是交于同一node,顺便记录2个链子的长度。

然后根据长度差距再遍历找到交点。。

public class Solution {    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {        if (headA == null || headB == null) return null;        ListNode dum1 = new ListNode(0);        ListNode dum2 = new ListNode(0);        dum1.next = headA;        dum2.next = headB;        int count1 = 0;        int count2 = 0;        ListNode temp1 = dum1;        while (temp1.next != null) {            count1++;            temp1 = temp1.next;        }        ListNode temp2 = dum2;        while (temp2.next != null) {            count2++;            temp2 = temp2.next;        }        if (temp1 != temp2) return null;        if (count1 > count2) {            temp1 = dum1;            temp2 = dum2;        } else {            temp1 = dum2;            temp2 = dum1;        }                int diff = Math.abs(count1 - count2);        while (diff > 0) {            temp1 = temp1.next;            diff--;        }        while (temp1 != temp2) {            temp1 = temp1.next;            temp2 = temp2.next;        }        return temp1;            }}

转载于:https://www.cnblogs.com/reboot329/articles/6034689.html

你可能感兴趣的文章
azkaban用户管理及权限配置
查看>>
GCD学习笔记
查看>>
[转]Asp.net MVC中的ViewData与ViewBag
查看>>
PHP......会话控制SESSION与COOKIE
查看>>
[转]AchartEngineActivity引擎绘制柱状图、曲线图
查看>>
[转]javascript实现限制上传文件的大小
查看>>
2-SAT问题的算法
查看>>
2012年,将是HTML5决胜的一年
查看>>
DOM的事件操作
查看>>
利用powerdesigner创建数据库
查看>>
js 中数组的遍历
查看>>
【.NET】使用HtmlAgilityPack抓取网页数据
查看>>
工厂方法模式
查看>>
许愿墙的搭建基于mysql
查看>>
信息技术
查看>>
SQL中的内连接 外连接 左连接 右连接 全连接
查看>>
GitLab问题小结
查看>>
iOS-常用的辅助工具软件
查看>>
一道数学题
查看>>
虚函数 多层继承有重写 (3)
查看>>