解题思路:
本题只要是把题目的意思搞懂了,做起来就很容易。大体分为三种情况:
1.两个字符串不相等时,最长子序列是长字符串
2.两个字符串长度相等时,且两个字符串相等时,最长子序列不存在
3.两个字符串长度相等时,但两个字符串不相等时,最长子序列是两个字符串中的任意一个字符串
代码实现如下:
class Solution {
public int findLUSlength(String a, String b) {
//1.两个字符串不相等时,最长子序列是长字符串
//2.两个字符串长度相等时,且两个字符串相等时,最长子序列不存在
//3.两个字符串长度相等时,但两个字符串不相等时,最长子序列是两个字符串中的任意一个字符串
int res=0;
int len1=a.length();
int len2=b.length();
if(len1<len2||len2<len1){
res=len1>len2?len1:len2;
}
else{
if(a.equals(b)){
res=-1;
}
else{
res=len2;
}
}
return res;
}
}