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

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

Write a program to find the node at which the intersection of two singly linked lists begins.

 

For example, the following two linked lists:

A:          a1 → a2                   ↘                     c1 → c2 → c3                   ↗            B:     b1 → b2 → b3

begin to intersect at node c1.

解题思路:

先遍历两个list的长度,然后长的减去短的,之后同时遍历即可,JAVA实现如下:

public ListNode getIntersectionNode(ListNode headA, ListNode headB) {        if(headA==null||headB==null)        	return null;        int lengthA=0,lengthB=0;        ListNode tempA=headA,tempB=headB;    	while(tempA!=null){    		tempA=tempA.next;    		lengthA++;        }    	while(tempB!=null){    		tempB=tempB.next;    		lengthB++;        }    	if(lengthB>lengthA){    		tempA=headA;    		headA=headB;    		headB=tempA;    		int temp=lengthA;    		lengthA=lengthB;    		lengthB=temp;    	}    	int length=lengthA-lengthB;    	while(length-->0)    		headA=headA.next;    	while(headA!=null){    		if(headA==headB)    			return headA;    		headA=headA.next;    		headB=headB.next;    	}    	return headA;     }

 

转载于:https://www.cnblogs.com/tonyluis/p/4555154.html

你可能感兴趣的文章
spring IOC装配Bean(注解方式)
查看>>
[面试算法题]有序列表删除节点-leetcode学习之旅(4)
查看>>
SpringBoot系列五:SpringBoot错误处理(数据验证、处理错误页、全局异常)
查看>>
kubernetes_book
查看>>
OpenFire 的安装和配置
查看>>
侧边栏广告和回到顶部
查看>>
https://blog.csdn.net/u012106306/article/details/80760744
查看>>
海上孤独的帆
查看>>
处理程序“PageHandlerFactory-Integrated”在其模块列表中有一个错误模块“Manag
查看>>
01: socket模块
查看>>
mysql触发器
查看>>
淌淌淌
查看>>
win10每次开机都显示“你的硬件设置已更改,请重启电脑……”的解决办法
查看>>
C++有关 const & 内敛 & 友元&静态成员那些事
查看>>
函数积累
查看>>
Swift 入门之简单语法(六)
查看>>
〖Python〗-- IO多路复用
查看>>
栈(括号匹配)
查看>>
Java学习 · 初识 面向对象深入一
查看>>
源代码如何管理
查看>>