这道题目还是比较难的,UP看了解析后才明白
给你一个字符串 S、一个字符串 T,请在字符串 S 里面找出:包含 T 所有字母的最小子串。
示例
输入: S = “ADOBECODEBANC”, T = “ABC”
输出: “BANC”
如果 S 中不存这样的子串,则返回空字符串 “”。
如果 S 中存在这样的子串,我们保证它是唯一的答案。
额外说一下如果S = “ADOBECODEBANC”, T = "AABC"是不能匹配的
不多说上代码,这道题目要好好解释一下
class Solution {
public String minWindow(String s, String t) {
//这里为什么建议一个256的数组呢,其实是用于存储字符串t中每个字符出现的次数
//其实你也可以建立一个长度为26的数组,在插入的时候要记得当前字符减去‘A’,都可以;
int[]nums=new int[256];
//讲两个字符串转成数组
char[]str1=t.toCharArray();
char[]str2=s.toCharArray();
//前面也说了nums数组用于记录t中每一个字符出现