题目描述
给定一个字符串,找出不含有重复字符的 最长子串 的长度。(注意:必须是一个子串,不是子序列)
输入
一个字符串
输出
最长子串 的长度
示例:
给定 "abcabcbb" ,没有重复字符的最长子串是 "abc" ,那么长度就是3
给定 "bbbbb" ,最长的子串就是 "b" ,长度是1
给定 "pwwkew" ,最长子串是 "wke" ,长度是3。请注意答案必须是一个子串,"pwke" 是 子序列 而不是子串
样例输入
abcabcbb
样例输出
3
Code:
#include<bits/stdc++.h>
using namespace std;
bool isName(string name,string typed){if(name.size()>typed.size()){return false;}if(name==typed){return true;}int i=0,j=0;while(i<name.size()&&j<typed.size()){if(name[i]==typed[j]){i++,j++;}else{if(typed[j]==typed[j-1]){j++;}else{return false;}}}if(i<name.size()){return false;}while(j<typed.size()){if(typed[j]==typed[j-1]){j++;}else{return false;}}return true;
}
int main(){string s1,s2;cin>>s1>>s2;if(isName(s1,s2)){cout<<"true";}else{cout<<"false";}return 0;
}
/**************************************************************Problem: 2820User: yangrenruiLanguage: C++Result: 正确Time:32 msMemory:2712 kb
****************************************************************/