无重复最长字串
滑动窗口类型的,
class Solution { public: int lengthOfLongestSubstring(string s) { int l=0;int r=0;int length=0; string ans; while(r<s.size()) { if(ans.find(s[r])==string::npos) { ans+=s[r++]; cout<<ans<<' '; length=length>ans.size()?length:ans.size(); } else { while(ans.find(s[r])!=string::npos) ans.erase(0,1); l++; ans+=s[r++]; cout<<ans<<' '; length=length>ans.size()?length:ans.size(); } } return length; } };
好像代码可以简化下
class Solution { public: int lengthOfLongestSubstring(string s) { int l=0;int r=0;int length=0; string ans; while(r<s.size()) { while(ans.find(s[r])!=string::npos) { ans.erase(0,1); } ans+=s[r++]; cout<<ans<<' '; length=length>ans.size()?length:ans.size(); } return length; } };
后面继续研究。
posted on 2023-06-21 04:01 WhatAnyWay 阅读(13) 评论(0) 收藏 举报
浙公网安备 33010602011771号