@@ -0,0 +1,1485 @@
+package com.test.leetcode.medium;%0A%0A/**%0A * Created by ben on 2017/8/1.%0A */%0Apublic class _647_PalindromicSubstrings %7B%0A    public int countSubstrings(String s) %7B%0A        if (s == null %7C%7C s.length() == 0) %7B%0A            return 0;%0A        %7D%0A%0A        int len = s.length();%0A        int%5B%5D dp = new int%5Blen%5D;%0A        for (int i = 1; i %3C len; i++) %7B%0A            int temp = 0;%0A            for (int j = 0; j %3C i; j++) %7B%0A                if (s.charAt(i) == s.charAt(j)) %7B%0A                    String sub = s.substring(j, i + 1);%0A                    if (isPalindromic(sub)) %7B%0A                        temp++;%0A                    %7D%0A                %7D%0A            %7D%0A            dp%5Bi%5D = dp%5Bi - 1%5D + temp;%0A        %7D%0A        return dp%5Blen - 1%5D + len;%0A    %7D%0A%0A    private boolean isPalindromic(String sub) %7B%0A        int len = sub.length();%0A        for (int i = 0; i %3C len / 2; i++) %7B%0A            if (sub.charAt(i) != sub.charAt(len - i - 1)) %7B%0A                return false;%0A            %7D%0A        %7D%0A        return true;%0A    %7D%0A%0A%0A    int count = 0;%0A%0A    public int countSubstrings1(String s) %7B%0A        if (s == null %7C%7C s.length() == 0) return 0;%0A        for (int i = 0; i %3C s.length(); i++) %7B%0A            helper(s, i, i);%0A            helper(s, i, i + 1);%0A        %7D%0A        return count;%0A    %7D%0A%0A    private void helper(String s, int start, int end) %7B%0A        while (start %3E= 0 && end %3C s.length() && s.charAt(start) == s.charAt(end)) %7B%0A            count++;%0A            start--;%0A            end++;%0A        %7D%0A    %7D%0A%7D%0A

add a question