classSolution { public: intcountSubstrings(string s){ int result=0; for(int i=0; i<s.size(); i++){ int a=Substring(s,i,i); int b=Substring(s,i,i+1); result += a+b; } return result; }
intSubstring(string s, int left, int right){ int result=0; while(left>=0 && right<s.size() && s[left]==s[right]){ left--; right++; result++; } return result; } };
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
funccountSubstrings(s string)int { result := 0 for i := 0; i < len(s); i++ { a := substring(s, i, i) b := substring(s, i, i+1) result += a + b } return result }
funcsubstring(s string, left int, right int)int { result := 0 for left >= 0 && right < len(s) && s[left] == s[right] { left-- right++ result++ } return result }
funcisPalindrome(s string)bool { // 双指针 res := []rune{} for _, ch := range s { if isAlnum(ch) { // 是否是字母和数字 res = append(res, toLower(ch)) // toLower()将大写转换成小写 } } n := len(res) left := 0 right := n - 1 for left < right { if res[left] != res[right] { returnfalse } left++ right-- } returntrue }