题目
给你两个字符串 a 和 b,请返回 这两个字符串中 最长的特殊序列 的长度。如果不存在,则返回 -1 。
「最长特殊序列」 定义如下:该序列为 某字符串独有的最长
子序列
(即不能是其他字符串的子序列) 。
字符串 s 的子序列是在从 s 中删除任意数量的字符后可以获得的字符串。
- 例如,
"abc"是"aebdc"的子序列,因为删除"aebdc"中斜体加粗的字符可以得到"abc"。"aebdc"的子序列还包括"aebdc"、"aeb"和""(空字符串)。
思路
需要返回最长子序列, 其中关键信息为子序列的定义: 可以删除任意数量的字符后可以获得的字符串
因此最长即为不删除任意字符的情况,返回这两个字符串的最大长度. 如果这两个字符串相同的话则返回-1
代码
class Solution {
public int findLUSlength(String a, String b) {
if (!a.equals(b)) {
return Math.max(a.length(), b.length());
}
return -1;
}
}
题解
三叶姐题解: leetcode.cn/problems/lo…