z-algorithm-linear-time-pattern-searching-algorithm/ https://www.hackerearth.com/practice/algorithms/string-algorithm