1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| class Solution { public boolean isSubsequence(String s, String t) { int lenS = s.length(); int lenT = t.length(); int result = 0; int pre = 0; for (int i = 0; i < lenS; i++) { for (int j = pre; j < lenT; j++) { if (s.charAt(i) == t.charAt(j)) { result++; pre = j + 1; break; } } } return result == lenS; } }
class Solution { public boolean isSubsequence(String s, String t) { int lenS = s.length(); int lenT = t.length(); if (lenS==0){ return true; } boolean[][] dp = new boolean[lenS + 1][lenT + 1]; for (int i = 0; i < lenT; i++) { dp[0][i] = true; } for (int i = 1; i <= lenS; i++) { for (int j = 1; j <= lenT; j++) { if (s.charAt(i - 1) == t.charAt(j - 1)) { dp[i][j] = dp[i - 1][j - 1]; } else { dp[i][j] = dp[i][j - 1]; } } } return dp[lenS][lenT]; } }
|