160. 相交链表 --力扣 --JAVA

题目

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。

解题思路

  1. 双层循环遍历,逐个对比,寻找交点;
  2. 因为不存在环形所以只需要找到交点即可,不需要再对后续节点进行判断

代码展示

public class Solution {
    public ListNode getIntersectionNode(ListNode headA, ListNode headB) {
        ListNode store = headB;
        while (headA != null){
            headB = store;
            while (headB != null){
                if(headA == headB){
                    return headA;
                } else {
                    headB = headB.next;
                }
            }
            headA = headA.next;
        }
        return null;
    }
}

你可能感兴趣的:(力扣练习,算法,数据结构)