Leetcode 75 – 392. Is Subsequence
Given two strings s and t, return true if s is a subsequence of t, or false otherwise.
A subsequence of a string is a new string that is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (i.e., "ace" is a subsequence of "abcde" while "aec" is not).
Example 1:
Input: s = "abc", t = "ahbgdc" Output: true
Example 2:
Input: s = "axc", t = "ahbgdc" Output: false
Constraints:
0 <= s.length <= 1000 <= t.length <= 104sandtconsist only of lowercase English letters.
PHP Code
class Solution {
/**
* @param String $s
* @param String $t
* @return Boolean
*/
function isSubsequence($s, $t) {
$as = str_split($s);
$at = str_split($t);
if (count($as) > count($at)) {
return false;
}
$n = 0;
$s_count = 0;
for($i=0; $i<count($as); $i++) {
for($j=$n; $j<count($at); $j++) {
if ($as[$i] == $at[$j]) {
$n = $j+1;
$s_count++;
break;
}
if ($j+1 == count($at)) {
return false;
}
}
}
if ($s_count == count($as)) {
return true;
}
return false;
}
}