标签:src ever bsp else 指针 翻转 target log pos
解题思路:每次去掉目标字符串的末尾一个字符,这边要设置一个方向变量,这样就可以用双指针法来代替翻转字符串的操作,时间复杂度O(target.length())。
string canObtain(string src, string tar){ if(src.length() > tar.length()) return "Impossible"; int left = 0 , right = tar.length() - 1 ,front_to_end = 1; while(right - left + 1 != src.length()){ if(front_to_end){ if(tar[right] == ‘A‘)right--; else { front_to_end = 0; right--; } } else { if(tar[left] == ‘A‘)left++; else { front_to_end = 1; left++; } } } if(!front_to_end) reverse(src.begin(), src.end()); return src == tar.substr(left, src.length()) ? "Possible" : "Impossible"; }
标签:src ever bsp else 指针 翻转 target log pos
原文地址:http://www.cnblogs.com/tsunami-lj/p/6761270.html