Sliding window problem:
76, 159
267 use dfs to find half of the string;
KMP in 214
map.values()的用法: 76