CODE

class Solution:
    def countSubstrings(self, s: str) -> int:
        result = 0
        def is_palindrome(l, r):
            nonlocal result
            while 0 <= l and r < len(s):
                if s[l] != s[r]:
                    break
                l, r = l - 1, r + 1
                result += 1
    
        for idx in range(len(s)):
            # odd length
            is_palindrome(idx, idx)
            # even length
            is_palindrome(idx, idx + 1)
        return result
            
        

Last updated