<prompt> Kwa kuzingatia vichwa vya orodha mbili zilizounganishwa moja headA na headB, rudisha _nodi ambapo orodha hizi mbili zinaingiliana_. Ikiwa orodha mbili zilizounganishwa hazina makutano hata kidogo, rudisha null.Kwa mfano, orodha mbili zifuatazo zilizounganishwa huanza kuingiliana kwenye nodi c1:Kesi za majaribio huzalishwa hivi kwamba hakuna mizunguko popote katika muundo mzima uliounganishwa.Kumbuka kwamba orodha zilizounganishwa lazima zihifadhi muundo wake asili baada ya chaguo za kukokotoa kurejea.Jaji Maalum:Michango kwa jaji imetolewa kama ifuatavyo mpango wako haujapewa pembejeo hizi: intersectVal - Thamani ya nodi ambapo makutano hutokea. Hii ni 0 ikiwa hakuna nodi iliyokatizwa. OrodhaA - Orodha ya kwanza iliyounganishwa. OrodhaB - Orodha ya pili iliyounganishwa. skipA - Idadi ya nodi za kuruka mbele katika orodhaA kuanzia kichwa ili kufika kwenye nodi iliyopishana. rukaB - Idadi ya nodi za kuruka mbele katika orodhaB kuanzia kichwa ili kufika kwenye kifundo kilichopishana.Kisha hakimu ataunda muundo uliounganishwa kulingana na ingizo hizi na kupitisha vichwa viwili, headA na headB kwa programu yako. Ikiwa utarudisha kwa usahihi nodi iliyoingiliana, basi suluhisho lako litakubaliwa .Mfano wa 1:Ingizo: intersectVal 8, listA 4,1,8,4,5, listB 5,6,1,8,4,5, skipA 2, skipB 3Iliyotoka: Ilivuka kwa 8Maelezo: Thamani ya nodi iliyopishana ni 8 kumbuka kuwa hii haipaswi kuwa 0 ikiwa orodha hizi mbili zinaingiliana.Kutoka kwa kichwa cha A, inasomeka kama 4,1,8,4,5. Kutoka kwa kichwa cha B, inasomeka kama 5,6,1,8,4,5. Kuna nodi 2 kabla ya nodi iliyoingiliana katika A; Kuna nodi 3 kabla ya nodi iliyoingiliana katika B.- Kumbuka kuwa thamani ya nodi iliyoingiliana si 1 kwa sababu vifundo vilivyo na thamani 1 katika A na B nodi ya 2 katika A na nodi ya 3 katika B ni marejeleo tofauti ya nodi. Kwa maneno mengine, zinaonyesha maeneo mawili tofauti katika kumbukumbu, wakati nodi zilizo na thamani 8 katika A na B nodi ya 3 katika A na nodi ya 4 katika B zinaonyesha eneo moja kwenye kumbukumbu.Mfano wa 2:Ingizo: intersectVal 2, listA 1,9,1,2,4, listB 3,2,4, rukaA 3, rukaB 1Pato: Imevuka kwa 2Maelezo: Thamani ya nodi iliyopishana ni 2 kumbuka kuwa hii haipaswi kuwa 0 ikiwa orodha hizi mbili zinaingiliana.Kutoka kwa kichwa cha A, inasomeka kama 1,9,1,2,4. Kutoka kwa kichwa cha B, inasomeka kama 3,2,4. Kuna nodi 3 kabla ya nodi iliyoingiliana katika A; Kuna nodi 1 kabla ya nodi iliyoingiliana katika B.Mfano wa 3:Ingizo: intersectVal 0, listA 2,6,4, listB 1,5, rukaA 3, rukaB 2Pato: Hakuna makutanoMaelezo: Kutoka kwa kichwa cha A, inasomeka kama 2,6,4. Kutoka kwa kichwa cha B, inasomeka kama 1,5. Kwa kuwa orodha hizi mbili haziingiliani, intersectVal lazima iwe 0, huku skipA na skipB zinaweza kuwa maadili kiholela.Maelezo: Orodha hizi mbili haziingiliani, kwa hivyo rudisha null.Vikwazo: Idadi ya nodi za listA iko katika m. Idadi ya nodi za orodhaB iko kwenye n. 1 m, n 3 104 1 Node.val 105 0 ruka m 0 rukaB n intersectVal ni 0 ikiwa listA na listB haziingiliani. intersectVal listAskipA listBskipB ikiwa listA na listB zinapishana.Fuatilia: Je, unaweza kuandika suluhu linaloendeshwa katika muda wa Om n na kutumia kumbukumbu ya O1 pekee?  <response>: chatuOrodha ya darasa: def __init__binafsi, x: self.val x self.next Hakunadef getIntersectionNodeheadA, headB: pA, pB kichwaA, kichwaB wakati pA sio pB: pA pA. inayofuata ikiwa pA nyingine kichwaB pB pB. inayofuata ikiwa pB nyingine headA kurudi pAmaelezoAlgorithm hutumia viashiria viwili, moja kwa kila kichwa cha orodha kilichounganishwa kichwaA na kichwaB. Viashiria hupitia orodha hivi kwamba vinapitia jumla ya hesabu ya nodi za orodha zote mbili. Ikiwa orodha zitapishana kwenye nodi, viashiria hatimaye vitakutana kwenye nodi hii ya makutano kwa sababu zitakuwa zimepitia idadi sawa ya nodi jumla. Ikiwa orodha hazitaingiliana, viashiria vitakutana mwishoni mwa orodha, na kusababisha viashiria vyote viwili kuwa batili, na chaguo la kukokotoa litarudi null. 