思路:把字符串相加,则一次遍历就可以求出最大联续‘1’的个数,需要注意若字符串全为1,则需要另行处理。 2.
class Solution { public: int maxlength(vector<int>&A,vector<int>&B,int addA,int addB,int len) { int res=0; int k=0; for(int i=0;i<len;i++) { if(A[addA+i]==B[addB+i]) { k++; } else { k=0; } res =max(res,k); } return res; } int findLength(vector<int>& A, vector<int>& B) { int lenA=A.size(); int lenB=B.size(); int ret=0; for(int i=0;i<lenA;i++) { int len=min(lenA-i,lenB); int maxlen=maxlength(A,B,i,0,len); ret =max(maxlen,ret); } for(int i=0;i<lenB;i++) { int len=min(lenB-i,lenA); int maxlen=maxlength(A,B,0,i,len); ret =max(maxlen,ret); } return ret; } };这个题使用滑动窗口法进行,计算最大的子串的长度。这个题必须掌握!!!