תחשוב על זה כך: המחרוזת הזאת שאתה יודע לבדוק עליה היא בעצמה יכולה להיות תת מחרוזת של מחרוזת גדולה יותר.לכן, למעשה יש לך את הפתרון הפנימי של הבעיה. כל מה שנותר לך זה לכתוב פונקציה שמקבלת מחרוזת ומייצרת את כל תתי המחרוזות שלה, ועבור כל תת מחרוזת לקרוא ל IsPalindrome וכמובן להחזיר את המקסימלי.
יש שיטות לייעל את זה כמו למשל לוודא שהפונקציה שמייצרת תתי מחרוזות תתן קודם את המחרוזת בגודל n ואז את כל המחרוזות בגודל n-1 ואז את כל המחרוזות בגודל n-2 וככה ברגע שמצאת פולינדרום אתה עוצר, אין צורך לבדוק את השאר כי עשית בסדר מהגדול לקטן ולכן אין מה לבדוק את השאר ופשוט מחזירים את גודל המחרוזת הנוכחי.
תחפש בגוגל: generate all substrings of a string אתה תמצא מימושים של זה. תבחר פשוט במימוש רקורסיבי שגם מחזיר את המחרוזות בסדר מהגדול לקטן.
קאש-באק ישראלי: https://www.cashback.co.il/?uref=33330
קאשבק לAsos ואמזון דרך Ebates: https://goo.gl/MX87Y7 - מקבלים 10$ לאחר שימוש ראשון.