leetcode 647. 迴文子串 中等 字符串

題目:
在這裏插入圖片描述

分析:題目要求求出所有的迴文字符串的個數,思考迴文字符串的特點,有一箇中心,並且兩邊字符相等,還有一個特點,迴文字符串的長度可能是奇數也可能是偶數
假設每個字符都是一個迴文字符串的中心,向兩邊擴展看有多少個迴文字符串

代碼:

class Solution {
    int count = 0;
    public int countSubstrings(String s) {
        if(s.length() == 0){
            return 0;
        }
        for(int i = 0; i < s.length(); i++){
        	//長度是奇數,因start=end
            isReverse(s, i, i);
            //長度是偶數,因end=start+1
            isReverse(s, i, i+1);
        }
        return count;
    }
    void isReverse(String str, int start, int end){
        while(start>=0 && end < str.length() && str.charAt(start) == str.charAt(end)){
            start--;
            end++;
            count++;
        }
    }
}

在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章