// 没法考虑两个字符串的组合顺序问题。当处理{"aa", "ab", "aaba"}的时候,就不行了
// Merge sort
public class Interleaving_string {
public static boolean isInterleave(String s1, String s2, String s3) {
if (s3.length() != s2.length() + s1.length()) {
return false;
}
int index = 0; //s3
int n = 0; //s1
int m = 0; //s2
while(n < s1.length() && m < s2.length()) {
if (s3.charAt(index) == s1.charAt(n)) {
n++;
} else if (s3.charAt(index) == s2.charAt(m)) {
m++;
} else {
return false;
}
index++;
}
while (n < s1.length()) {
if (s3.charAt(index) == s1.charAt(n)) {
n++;
} else {
return false;
}
index++;
}
while (m < s2.length()) {
if (s3.charAt(index) == s2.charAt(m)) {
m++;
} else {
return false;
}
index++;
}
return true;
}
}
Wednesday, September 3, 2014
Interleaving String-1
Labels:
Algorithms,
Java,
Leetcode
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment