leetCode_647_PalindromicSubstrings

来源:互联网 发布:简谱打谱软件 编辑:程序博客网 时间:2024/06/05 17:53

下面这段代码有两处需要注意:

  1. count 的初始值
  2. i 的取值范围

注释掉的代码真是一团渣

public class PalindromicSubstrings { /*   public static int countSubstrings(String s) {        int num = 0;        for (int i = 0; i < s.length(); i++) {            for (int j = i; j < s.length(); j++) {                if (isPalindromic(s.substring(i,j+1)))                    num++;            }        }        return num ;    }    public static boolean isPalindromic(String s){        int i = 0;int k = s.length()-1;        while (i<=k){            if (s.charAt(i) == s.charAt(k)){                i++;                k--;            } else                return false;        }        return true;    }*/    public static void main(String[] args){        String s = "abcc";        int a = countSubstrings(s);        System.out.println(a);    }    static int count = 1; // 1 代表的处理字符串最后一个    private static int countSubstrings(String s) {        if ( s.length() == 0) return 0;        for (int i = 0; i < s.length()-1; i++) {            extendPalindromic(s,i,i);            extendPalindromic(s,i,i+1);        }        return count;    }    private static void extendPalindromic(String s, int i, int j) {        while (i >=0 && j < s.length() && s.charAt(i) == s.charAt(j)) {            i--;            j++;            count++;        }    }} 
原创粉丝点击