题目描述:
给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。
示例:
输入: S = "ADOBECODEBANC", T = "ABC"
输出: "BANC"
说明:如果 S 中不存这样的子串,则返回空字符串 ""。
如果 S 中存在这样的子串,我们保证它是唯一的答案。
思路:
滑动窗口思想,使用左右两个指针。
通过答案:
class Solution {
public String minWindow(String s, String t) {
if(s.length()==0||t.length()==0){ //若有一个串为空,则返回“”
return "";
}
int[] map=new int[128]; //新建数组
for(int i=0;i<t.length();i++){ //遍历字符串t,统计每个字母出现的次数
char c=t.charAt(i);
map[c]++;
}
int left=0; //左指针
int right=0; //右指针
int ans_left=0; //窗口的左边界
int ans_right&