算法准备-4.23
1. 两个链表的第一个公共节点
-
描述:输入两个链表,找出它们的第一个公共节点
-
思路:此题比较简单,先计算出两个链表的长度,较长的链表的遍历指针先走差值步,然后同时往后移动,直至相同
-
题解:
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */ public class Solution { public ListNode getIntersectionNode(ListNode headA, ListNode headB) { int len1=Length(headA); int len2=Length(headB); int dist=len1-len2>0?len1-len2:len2-len1; ListNode pa=headA; ListNode pb=headB; while(dist!=0) { if(len1>len2) { pa=pa.next; } else pb=pb.next; dist--; } while(pa!=null) {