暴力法。这段代码用于找到两个链表的相交节点,使用双重循环遍历两个链表,外层循环遍历链表A的每个节点,内层循环遍历链表B的每个节点,比较节点引用是否相同(不是值相同),如果找到相同引用则返回该节点,如果没有找到相交节点,返回null
关键点:
比较的是节点引用地址,不是节点值
废话不多说,代码如下:
/** * 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) { ListNode a = headB; while (headA != null){ while(headB != null){ if(headA == headB){ return headA; } headB = headB.next; } headB = a; headA = headA.next; } return null; } }时间复杂度为O(m*n),效率较低