博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[leetcode-647-Palindromic Substrings]
阅读量:7049 次
发布时间:2019-06-28

本文共 1128 字,大约阅读时间需要 3 分钟。

Given a string, your task is to count how many palindromic substrings in this string.

The substrings with different start indexes or end indexes are counted as different substrings even they consist of same characters.

Example 1:

Input: "abc"Output: 3Explanation: Three palindromic strings: "a", "b", "c".

 

Example 2:

Input: "aaa"Output: 6Explanation: Six palindromic strings: "a", "a", "a", "aa", "aa", "aaa".

 

Note:

  1. The input string length won't exceed 1000.

思路:

从字符串s中的位置s[i]出发,分别判断奇数长度和偶数长度的子字符串是否为回文串。

判断奇数长度: 将index指向同一个字符s[i],然后循环判断s[i-1]和s[i+1]是否相等。

判断偶数长度: 将index指向相邻两个字符s[i],s[i+1],然后循环判断s[i]和s[i+1]是否相等,,然后分别向左和向右移动字符指针。

void ifsub(string& s,int l,int r,int& cnt)    {        while (l >= 0 && r < s.length() && s[l] == s[r])        {            cnt++;            l--;            r++;        }    }    int countSubstrings(string s)    {        if (s.length() == 0)return 0;        int cnt = 0;        for (int i = 0; i < s.length();i++)        {            ifsub(s, i, i, cnt);//判断奇数情况            ifsub(s, i, i+1, cnt);//判断偶数情况        }        return cnt;    }

参考:

转载于:https://www.cnblogs.com/hellowooorld/p/7229209.html

你可能感兴趣的文章
wireshark使用方法总结
查看>>
9-27-函数
查看>>
yaf插件类的使用
查看>>
SSD内部的IO抖动因素
查看>>
Skype for Business Server 2015-04-前端服务器-4-准备Active Directory
查看>>
PHP流程控制的替代语法
查看>>
完全解析H3C路由器动态NAT配置步骤
查看>>
天涯的运维之路
查看>>
运维人员低学历者要不要补学历?何时补合适?
查看>>
【原创】日志表设计一例分析
查看>>
nmcli网卡绑定与teaming配置
查看>>
为什么还是穷人:工作的态度
查看>>
Provisioning Services 7.8 入门系列教程之三 安装并配置 Provisioning Services
查看>>
RHEL6基础三十之服务器维护基础命令①netstat
查看>>
Puppet 实验十 centos 安装 puppet-dashboard 仪表盘
查看>>
SQL Server 2017 AlwaysOn on Linux 配置和维护(11)
查看>>
C#基础知识整理:基础知识(7) 方法的隐藏
查看>>
SQL Server可以锁定的资源类型
查看>>
基于VMware vSphere 5.0的服务器虚拟化实践(3)
查看>>
Linux系统负载均衡软件之haproxy+apache
查看>>