Leetcode 1763.最长的美好子字符串
作者:互联网
题目地址
解题思路
要判断一个字符串是不是美好字符串,需要满足字符串中出现的字母必须是大小写都存在,所以可以引用islower()函数,同时保存当前的最长长度和当前字符串的起始位置。
代码实现(C++)
class Solution {
public:
string longestNiceSubstring(string s)
{
int n=s.size();
int maxPos=0;
int maxlength=0;
for(int i=0;i<n;i++)
{
int lower=0;
int upper=0;
for(int j=i;j<n;j++)
{
if(islower(s[j]))
{
lower|=1<<(s[j]-'a');
}
else
{
upper|=1<<(s[j]-'A');
}
if(lower==upper&&j-i+1>maxlength)
{
maxlength=j-i+1;
maxPos=i;
}
}
}
return s.substr(maxPos,maxlength);
}
};
标签:upper,string,int,maxlength,字符串,1763,maxPos,Leetcode 来源: https://blog.csdn.net/weixin_45847364/article/details/122766105