Masalaning berilishi:
Given an integer x, return true if x is a palindrome, and false otherwise. Example 1: Input: x = 121 Output: true Explanation: 121 reads as 121 from left to right and from right to left. Example 2: Input: x = -121 Output: false Explanation: From left to right, it reads -121. From right to left, it becomes 121-. Therefore it is not a palindrome. Example 3: Input: x = 10 Output: false
Explanation: Reads 01 from right to left. Therefore it is not a palindrome.
Constraints: -231 <= x <= 231 - 1
Dastlab berilgan x integerni -122 ni 221- bolib qolmasligi uchun 0 dan katta xolatiga tekshiramiz, yani faqat musbat sonlarni olamiz.
Keyin if dan o'tgan sonni for sikliga solamiz
Buyerda dastlab biz berilgan x sonini %10 qilganmiz, bu nima qiladi o'zi ?
Buyerda masalan x = 1234 bolsa, manashu formula boyicha 1234 ni 10 ga boladi va % bu qoldiqni olib beradi, yani aniqlab beradi , 10 ga bolganda qoldiq har doim oxirgi son bo'ladi
va uni olamiz, sonni 10 ga kopaytiramiz nima uchun, chunki ung joy kerak
reverseNum dastlab bizda 0 edi keyin u for siklida sonni 10 ga bolamiz oxirgi 4 ni olamiz
shunda 0*10 + 4 = 4 -> bu birinchi siklning javobi
Sikl aylanishda davom etar ekan bizning sonimiz 123 bolib qoldi nima uchun ? chunki /10 qildik va oxirgi xonadagi sonni olib tashlaydi, sabab son egallab turgan xoanni bittaga qisqartirdi va 1234 emas 123 uchun joy qoldi
keyingi safar sikl yana aylanadi va 123 ning 3 ni olamiz
4*10 + 3 manashuyerda bir chalkashlik bor agar bizda nima uchun 10 ga kopaytirldi deydigan bolsa 4 + 3 bolib qolsa 7 bolar edi yani 3 ni 4 ning yoniga yozish uchun 3ga 4 ning oldidan bir xona joy qilib berish kerak bolar edi shuning uchun uni daslab 10 ga kopaytrib oldik..... shu tartibda sonimiz aylanadi
va 4321 xosil boladi
masalamizda bunday shart bor edi Palindrome xolatida son ozgarmasligi kerak masalan 121 teskarisga 121 boladi
shuning uchun daslab berilgan sonni originNum deb tenglab olganmiz va uni for siklidan xosil bolgan songa tekshiramiz agar ikkala son teng bolsa true bolmasam false qaytaradi
yani 10 ning 01 bolib qolishini qanoatlantiradi va oxirida agar boshida berilgan son va xozil bolgan sonlar == bolsagina true bolmasam avtomatik false qaytadi
Hali izoh yo'q. Birinchi bo'ling!