# Palindromic Substrings LeetCode Solution

Here, We see Palindromic Substrings LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

# List of all LeetCode Solution

## Problem Statement

Given a string `s`, return the number of palindromic substrings in it.

A string is a palindrome when it reads the same backward as forward.

substring is a contiguous sequence of characters within the string.

Example 1:
Input: s = “ABC”
Output: 3
Explanation: Three palindromic strings: “a”, “b”, “c”.

Example 2:
Input: s = “aaa”
Output: 6
Explanation: Six palindromic strings: “a”, “a”, “a”, “aa”, “aa”, “aaa”.

## Palindromic Substrings Leetcode SolutionC++

``````class Solution {
public:
int countSubstrings(string s) {
int n = s.length(), ans = 0;
for (int i = 0; i < n; ++i) {
int even = palindromeCount(s, i, i + 1);
int odd = palindromeCount(s, i, i);
ans += even + odd;
}
return ans;
}
int palindromeCount(const string& s, int left, int right) {
int count = 0;
while (left >= 0 && right < s.length() && s[left] == s[right]) {
--left;
++right;
++count;
}
return count;
}
};```Code language: PHP (php)```

## Palindromic Substrings Leetcode SolutionJava

``````class Solution {
public int countSubstrings(String s) {
int n = s.length();
int ans = 0;
for(int i=0;i<n;i++) {
int even = palindromeCount(s, i, i+1);
int odd = palindromeCount(s, i-1, i+1);
ans += even + odd + 1;
}
return ans;
}
public int palindromeCount(String s, int left, int right) {
int count = 0;
while(left >= 0 && right < s.length() && s.charAt(left--) == s.charAt(right++)) {
count++;
}
return count;
}
}```Code language: JavaScript (javascript)```

## Palindromic Substrings SolutionJavaScript

``````var countSubstrings = function(s) {
const n = s.length;
const palindrome = Array.from(Array(n), () => Array(n).fill(false));
let ans = 0;
for (let i = 0; i < n; i++) {
palindrome[i][i] = true;
ans++;
}
for (let i = 0; i < n - 1; i++) {
if (s[i] === s[i + 1]) {
palindrome[i][i + 1] = true;
ans++;
}
}
for (let len = 3; len <= n; len++) {
for (let i = 0; i < n - len + 1; i++) {
if (s[i] === s[i + len - 1] && palindrome[i + 1][i + len - 2]) {
palindrome[i][i + len - 1] = true;
ans++;
}
}
}
return ans;
};```Code language: JavaScript (javascript)```

## Palindromic Substrings SolutionPython

``````class Solution(object):
def countSubstrings(self, s):
n, ans = len(s), 0
def palindromeCount(left, right):
count = 0
while left >= 0 and right < n and s[left] == s[right]:
left -= 1
right += 1
count += 1
return count
for i in range(n):
even = palindromeCount(i, i + 1)
odd = palindromeCount(i, i)
ans += even + odd
return ans```Code language: HTML, XML (xml)```
Scroll to Top