Given two strings text1 and text2, return the length of their longest common subsequence. If there is no common subsequence, return 0. A subsequence of a string is a new string generated from the original string with some characters (can be none) deleted without changing the relative order of the remaining characters. For example, "ace" is a subsequence of "abcde". A common subsequence of two strings is a subsequence that is common to both strings.
Example 1
Input: text1 = abcde, text2 = ace
Output: 3
Explanation: "ace" can be formed from both strings by deleting letters (from "abcde", delete b and d). No common subsequence is longer, so the answer is 3.
Example 2
Input: text1 = abc, text2 = abc
Output: 3
Explanation: The strings are identical, so the whole string "abc" is common, with length 3.
Example 3
Input: text1 = abc, text2 = def
Output: 0
Explanation: The strings share no letters at all, so the longest common subsequence is empty.
Compare the two strings prefix by prefix. When the last characters match, extend the diagonal LCS; otherwise take the better of dropping one character from either string.
Run checks all cases above. Submit evaluates all test cases.