<prompt> Mfuatano PAYPALISHIRING umeandikwa kwa mchoro wa zigzag kwenye idadi fulani ya safu mlalo kama hii: unaweza kutaka kuonyesha mchoro huu katika fonti isiyobadilika kwa uhalali bora zaidiP A H NA PLS I I GY mimi RNa kisha usome mstari kwa mstari: PAHNAPLSIIGYIRAndika msimbo ambao utachukua mfuatano na ufanye ubadilishaji huu upewe idadi ya safu mlalo:kubadilisha kamba kamba s, int numRows;Mfano wa 1:Ingizo: s PAYPALISHIRING, numRows 3Pato: PAHNAPLSIIGYIRMfano wa 2:Ingizo: s PAYPALISHIRING, numRows 4Pato: PINALSIGYAHRPIMaelezo:P I NA S I GY A H RP IMfano wa 3:Ingizo: s A, numRows 1Pato: AVikwazo: 1 s.urefu 1000 s inajumuisha herufi za Kiingereza herufi ndogo na kubwa, , na .. 1 nambari Mstari 1000  <response>: chatudef converts: str, numRows: int - str: ikiwa numRows 1 au numRows lens: kurudi s safu nambariMistari msururu 0 kwendaDown Uongo kwa c katika s: safu mlalocurRow c ikiwa curRow 0 au curRow numRow - 1: kwendaDown kutoshuka curRow 1 ikiwa inashuka -1 rudisha .jiunge safumaelezo1. Ikiwa idadi ya safu mlalo ni 1 au ni kubwa kuliko au sawa na urefu wa mfuatano, mfuatano huo unarudishwa tu kama ulivyo.2. Unda safu inayoitwa safu ili iwe na herufi ambazo zinaweza kukaa katika kila safu ya mchoro wa zigzag.3. Rudia mfuatano herufi moja baada ya nyingine.4. Kwa kila mhusika kwenye kamba, weka kwenye safu inayofaa ya safu ya safu.5. Amua ikiwa herufi inayofuata inapaswa kuwekwa kwenye safu iliyo juu au chini ya safu ya sasa kwa kuangalia ikiwa safu mlalo ya sasa ni 0 juu au sawa na idadi ya safu 1 chini. Ikiwa juu au chini, mwelekeo utabadilika.6. Sasisha index ya sasa ya safu kulingana na mwelekeo kwenda juu au chini.7. Baada ya kurudia kupitia kamba nzima, unganisha safu kwenye safu moja na uirudishe. 