1192. 最长非公共子序列之1
给定一组两个字符串,你需要找到这组两个字符串中最长的非公共子序列。 最长的非公共子序列被定义为这两个字符串之一的最长子序列,此子序列满足:它不是其他字符串的子序列。
子序列是可以通过删除一些字符而不改变其余元素的顺序从一个序列导出的序列。可以说,任何字符串都是自身的子序列,空字符串是任何字符串的子序列。
输入两个字符串,输出最长的非公共子序列的长度。 如果最长的非公共子序列不存在,则返回-1。
样例
输入: "aba", "cdc"
输出: 3
解释:最长的非公共子序列是“aba”(或“cdc”),
因为“aba”是“aba”的子序列,但它不是"cdc"的子序列。
注意事项
两个字符串的长度都不会超过100。
只有来自a~z的字母才会出现在输入字符串中。
public class Solution {
/**
* @param a: a string
* @param b: a string
* @return: return a integer
*/
public int findLUSlength(String a, String b) {
// write your code here
if (a.length()!=b.length()){
return Math.max(a.length(), b.length());
}else {
for (int i = 0; i < a.length(); i++) {
if (a.charAt(i)!=b.charAt(i)){
return a.length();
}
}
return -1;
}
}
}