<prompt> Kwa kuzingatia kichwa cha orodha iliyounganishwa, ondoa kifundo cha nth kutoka mwisho wa orodha na urudishe kichwa chake.Mfano wa 1:Ingizo: kichwa 1,2,3,4,5, n 2Pato: 1,2,3,5Mfano wa 2:Ingizo: kichwa 1, n 1Pato: Mfano wa 3:Ingizo: kichwa 1,2, n 1Pato: 1Vikwazo: Idadi ya nodi katika orodha ni sz. 1 sz 30 0 Node.val 100 1 n szFuatilia: Je, unaweza kufanya hivi kwa kupita moja?  <response>: chatuOrodha ya darasa: def __init__binafsi, val0, nextNone: self.val val self.next ijayodef removeNthFromEndkichwa, n: kwanza kichwa pili kichwa kwa mimi katika safun: kwanza kwanza.kifuatacho kama sio kwanza: kichwa kichwa.kifuatacho kurudi kichwa wakati first.ijayo: kwanza kwanza.kifuatacho pili pili. inayofuata second.next second.next.next kurudi kichwamaelezoAlgorithm hutumia viashiria viwili, ya kwanza na ya pili. Kielekezi cha kwanza hupitia orodha, kikisonga hatua n mbele ya kielekezi cha pili. Ikiwa pointer ya kwanza inafikia mwisho wa orodha, basi kichwa kinasasishwa, na pointer ya pili inakuwa kichwa kipya. Vinginevyo, pointer ya pili inasogezwa pamoja na pointer ya kwanza hadi pointer ya kwanza iwe nafasi moja kabla ya kipengee cha mwisho. Kisha, nodi ya nth kutoka mwisho wa orodha inarukwa kwa kusasisha pointer inayofuata ya pointer ya pili. Hatimaye, mkuu wa orodha iliyosasishwa hurejeshwa. 