建设网站的文案范文,杭州企业画册设计公司,深圳的网站建设公司的外文名是,做网站都是怎么收费题目
给你两个单链表的头节点 headA 和 headB #xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点#xff0c;返回 null 。
图示两个链表在节点 c1 开始相交#xff1a;
思路
假a在链表A上移动,b在链表B上移动#xff0c;a移动完在B上开始请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点返回 null 。
图示两个链表在节点 c1 开始相交
思路
假a在链表A上移动,b在链表B上移动a移动完在B上开始b移动完再A上开始。最终a移动的距离a c x,b移动的距离 b c y。可以看到a c x b c y,即a x b y ,a移动b距离b移动a距离a,b指针就会相交直接返回a,b相交时候a/b指针所指节点的位置。即使a,b没有相交的地方返回的也是null。 实现
public class Solution {public ListNode getIntersectionNode(ListNode headA, ListNode headB) {//怎么保证a链表上的指针下次指到b链表? 一轮就行了 不用考虑ListNode a headA;ListNode b headB;while(a ! b){a a null ? headB : a.next;b b null ? headA : b.next;}return a;}
}