Leetcode-392 Is Subsequence(判断子序列)

 1 class Solution
 2 {
 3     public:
 4         bool isSubsequence(string s, string t)
 5         {
 6             vector<int> WordList[26];
 7             for(int i = 0;i < t.size();i ++)
 8             {
 9                 WordList[t[i]-'a'].emplace_back(i);
10             }
11             
12             int pre_index = 0;
13             for(int i = 0;i < s.size();i ++)
14             {
15                 auto v_ptr = lower_bound(WordList[s[i]-'a'].begin(),WordList[s[i]-'a'].end(),pre_index);
16                 if(v_ptr == WordList[s[i]-'a'].end())
17                     return false;
18                 pre_index = *v_ptr+1;
19             }
20             return true;
21         }
22 };

 

posted @ 2018-08-14 20:44  Asurudo  阅读(291)  评论(0编辑  收藏  举报