1961. Check If String Is a Prefix of Array

Given a string `s` and an array of strings `words`, determine whether `s` is a prefix string of `words`.

A string `s` is a prefix string of `words` if `s` can be made by concatenating the first `k` strings in `words` for some positive `k` no larger than `words.length`.

Return `true` if `s` is a prefix string of `words`, or `false` otherwise.

Example 1:

```Input: s = "iloveleetcode", words = ["i","love","leetcode","apples"]
Output: true
Explanation:
s can be made by concatenating "i", "love", and "leetcode" together.
```

Example 2:

```Input: s = "iloveleetcode", words = ["apples","i","love","leetcode"]
Output: false
Explanation:
It is impossible to make s using a prefix of arr.```

Constraints:

• `1 <= words.length <= 100`
• `1 <= words[i].length <= 20`
• `1 <= s.length <= 1000`
• `words[i]` and `s` consist of only lowercase English letters.

1961. Check If String Is a Prefix of Array
``````struct Solution;

impl Solution {
fn is_prefix_string(s: String, words: Vec<String>) -> bool {
let mut t = "".to_string();
for w in words {
t.push_str(&w);
if t == s {
return true;
}
}
false
}
}

#[test]
fn test() {
let s = "iloveleetcode".to_string();
let words = vec_string!["i", "love", "leetcode", "apples"];
let res = true;
assert_eq!(Solution::is_prefix_string(s, words), res);
let s = "iloveleetcode".to_string();
let words = vec_string!["apples", "i", "love", "leetcode"];
let res = false;
assert_eq!(Solution::is_prefix_string(s, words), res);
}
``````