首页 > 学院 > 开发设计 > 正文

LintCode 29-交叉字符串

2019-11-08 20:00:37
字体:
来源:转载
供稿:网友

本人电子系,只为一学生。心喜计算机,小编以怡情。


smallfish_love的博客 这位大神写的很详细!!!建议看这位大神的说明!!!

//我的代码public boolean isInterleave(String s1, String s2, String s3) { // write your code here int s1len=s1.length(); int s2len=s2.length(); int s3len=s3.length(); if(s1len==0) { if(s2.equals(s3)) return true; else { return false; } } if(s2len==0) { if(s1.equals(s3)) return true; else return false; } int visited[][]=new int[s1len+1][s2len+1]; visited[0][0]=1; for(int i=0;i<s1len;i++) { if(s1.charAt(i)==s3.charAt(i)) visited[i+1][0]=1; else break; } for(int j=0;j<s2len;j++) { if(s2.charAt(j)==s3.charAt(j)) visited[0][j+1]=1; else break; } for(int i=1;i<visited.length;i++) for(int j=1;j<visited[0].length;j++) { int hang=i-1; int lie=j-1; if((visited[i][j-1]==1&&s2.charAt(lie)==s3.charAt(hang+lie+1))||(visited[i-1][j]==1&&s1.charAt(hang)==s3.charAt(hang+lie+1))) visited[i][j]=1; } if(visited[visited.length-1][visited[0].length-1]==1) return true; return false; }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表