Preguntas de prueba escritas Mi: el primer nodo común de dos listas vinculadas
Descripción del Título
Ingrese dos listas vinculadas y busque su primer nodo común. (Tenga en cuenta que debido a que los datos entrantes son una lista vinculada, el mensaje de los datos de prueba incorrectos se muestra de otras formas para garantizar que los datos entrantes sean correctos)
[Error en la transferencia de la imagen del enlace externo. El sitio de origen puede tener un mecanismo de enlace anti-sanguijuela. Se recomienda guardar la imagen y subirla directamente (img-f3idLJ7o-1600157501963) (C: \ Users \ Carlos \ Desktop \ WeChat picture_20200915160755.jpg)]
Yo uso el método violento aquí, juzga uno por uno
el código se muestra a continuación:
package cn.lbl.face.link;
/*
输入两个链表,找出它们的第一个公共结点。
*/
public class 两个链表的第一个公共结点 {
private static ListNode temp;
public static ListNode FindFirstCommonNode(ListNode pHead1, ListNode pHead2) {
temp= pHead2;
while (pHead1!=null){
pHead2=temp;
while (pHead2!=null){
if (pHead1 == pHead2) {
return pHead1;
}else {
pHead2=pHead2.next;
continue;
}
}
pHead1=pHead1.next;
}
return null;
}
public static void main(String[] args) {
ListNode listNode1 = new ListNode(1);
ListNode listNode2 = new ListNode(2);
ListNode commlistNode = new ListNode(3);
ListNode newlistNode1 = new ListNode(1);
ListNode newlistNode2 = new ListNode(2);
listNode1.next=listNode2;
listNode2.next=commlistNode;
newlistNode1.next=newlistNode2;
newlistNode2.next=commlistNode;
FindFirstCommonNode(listNode1,newlistNode1);
}
}