521. Longest Uncommon Subsequence I
Given two strings a and b, find the length of the longest uncommon subsequence between them.
A subsequence of a string s is a string that can be obtained after deleting any number of characters from s. For example, “abc” is a subsequence of “aebdc” because you can delete the underlined characters in “aebdc” to get “abc”. Other subsequences of “aebdc” include “aebdc”, “aeb”, and “” (empty string).
An uncommon subsequence between two strings is a string that is a subsequence of one but not the other.
Return the length of the longest uncommon subsequence between a and b. If the longest uncommon subsequence doesn’t exist, return -1.
Example 1
Input: a = "aba", b = "cdc"
Output: 3
Explanation: One longest uncommon subsequence is "aba" because "aba" is a subsequence of "aba" but not "cdc".
Note that "cdc" is also a longest uncommon subsequence.
Example 2
Input: a = "aaa", b = "bbb"
Output: 3
Explanation: The longest uncommon subsequences are "aaa" and "bbb".
Example 2
Input: a = "aaa", b = "aaa"
Output: -1
Explanation: Every subsequence of string a is also a subsequence of string b. Similarly, every subsequence of string b is also a subsequence of string a.
题意 这个题的题意就是找到一个最长的字符串,这个字符串是其中一个串的 subsequent 子串,但不是另外一个字串的 subsequent 子串。 其实这道的关键是如果两个字符串不相同的话,那么返回两个字符串中较长的那个即可,那个必定不是另外一个字符串的subsequent。
代码
class Solution {
public int findLUSlength(String a, String b) {
if(a.equals(b)) return -1;
return Math.max(a.length(), b.length());
}
}