剑指 Offer 52. 两个链表的第一个公共节点
Posted lisin-lee-cooper
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指 Offer 52. 两个链表的第一个公共节点相关的知识,希望对你有一定的参考价值。
一、题目描述
编写一个程序,找到两个单链表相交的起始节点。
1->2->3->4->5
6>7->8->3->4->5
返回 3->4->5
二.示例代码
public class GetIntersectionNode
public static void main(String[] args)
ListNode listNode = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode listNode3 = new ListNode(3);
ListNode listNode4 = new ListNode(4);
ListNode listNode5 = new ListNode(5);
listNode.next = listNode2;
listNode2.next = listNode3;
listNode3.next = listNode4;
listNode4.next = listNode5;
ListNode listNode6 = new ListNode(6);
ListNode listNode7 = new ListNode(7);
ListNode listNode8 = new ListNode(8);
listNode6.next = listNode7;
listNode7.next = listNode8;
listNode8.next = listNode3;
ListNode result = getIntersection(listNode, listNode6);
System.out.println(result);
private static ListNode getIntersection(ListNode a, ListNode b)
if (a == null || b == null)
return null;
ListNode pointA = a;
ListNode pointB = b;
while (pointA != pointB)
if (pointA == null)
pointA = b;
else
pointA = pointA.next;
if (pointB == null)
pointB = a;
else
pointB = pointB.next;
return pointA;
以上是关于剑指 Offer 52. 两个链表的第一个公共节点的主要内容,如果未能解决你的问题,请参考以下文章