KMP string search: how does the LPS/prefix table avoid re-checking characters? | LetsGit.IT