"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > Palindrome تحقق من السلسلة

Palindrome تحقق من السلسلة

تم النشر بتاريخ 2024-07-29
تصفح:868

Palindrome check a string

هذا شائع جدًا. يبدو الأمر صعبًا، ولكنه ليس سيئًا حقًا بمجرد التفكير فيه.

اكتب دالة جولانج للتحقق مما إذا كانت السلسلة متناظرة.

المتناظر هو سلسلة من الأحرف التي تكون هي نفسها حتى عند عكسها، على سبيل المثال:

  • "aba" عبارة عن متناظرة

  • "abb ليس

  • يعتبر "ab a" متناظرًا بالنسبة لمعظم الناس، لذلك نتجاهل المسافة البيضاء.

func PalindromeCheck(str string) bool {
    trimmedStr := strings.ReplaceAll(str, " ", "")
    len := len(trimmedStr)
    chars := []rune(trimmedStr)
    for i := 0; i 



هذا الحل هو من الناحية الوظيفية نفس الحل الذي ستجده في لغة C أو Java عند البحث عبر الإنترنت. نحن نستخدم بشكل أساسي مؤشرات مزدوجة للتنقل من البداية والنهاية بحثًا عن حرف غير متطابق. عندما يتم العثور على عدم تطابق، يمكننا أن نعلن أن السلسلة ليست متناظرة.

يمكننا أن نجعلها أفضل؟
هل هناك طريقة أفضل لتقليص المسافات البيضاء بدلاً من استخدام strings.ReplaceAll؟ (هناك ولكن يمكن أن تصبح قبيحة)
ماذا عن كفاءة التحويل إلى []رون، هل هناك طريقة أفضل؟

أضف أفكارك في التعليقات.

شكرًا!

يمكن العثور على رمز هذه المشاركة وجميع المشاركات في هذه السلسلة هنا

بيان الافراج تم نشر هذه المقالة على: https://dev.to/johnscode/palindrome-check-a-string-3g4c?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3