Cell (i, j) answers "is s[i..j] a palindrome?" It's true when the ends match and the inside — cell (i+1, j−1) — is already true. Single letters start true.
Try:
single char = Tempty substring = T (base)palindromenot / pendingcurrent (i,j)inside (i+1,j−1)longest so far