LeetCode - Interleaving String

发布时间:2017-3-25 19:51:12 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"LeetCode - Interleaving String",主要涉及到LeetCode - Interleaving String方面的内容,对于LeetCode - Interleaving String感兴趣的同学可以参考一下。

Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example, Given: s1 = "aabcc", s2 = "dbbca", When s3 = "aadbbcbcac", return true. When s3 = "aadbbbaccc", return false. class Solution { public: bool isInterleave(string s1, string s2, string s3) { int len1=s1.size(),len2=s2.size(),len3=s3.size(); if(len1+len2!=len3){ return false; } vector<vector<bool> > matrix(len1+1,vector<bool>(len2+1,false)); matrix[len1][len2]=true; for(int i=len1-1;i>=0;i--){ matrix[i][len2]=s1[i]==s3[i+len2]&&matrix[i+1][len2]; } for(int i=len2-1;i>=0;i--){ matrix[len1][i]=s2[i]==s3[i+len1]&&matrix[len1][i+1]; } for(int i=len1-1;i>=0;i--){ for(int j=len2-1;j>=0;j--){ matrix[i][j]=(matrix[i+1][j]&&s1[i]==s3[i+j]) ||(matrix[i][j+1]&&s2[j]==s3[i+j]); } } return matrix[0][0]; } };

上一篇:ExecutorService线程池
下一篇:iOS开发之自定义弹出框

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款