Ma gandesc ca e ceva de genul:
Pentru fiecare cuvant, ii sortezi literele componente alfabetic. Apoi, sortezi alfabetic toate cuvintele intre ele. In final, verifici daca exista cuvinte egale pe pozitii consecutive. Complexitatea O(N*logN) vine de la sortare.
Vezi că soluţia ta are o complexitate O(N * lngCuvânt * (log(N) + log(lngCuvânt))
Compararea a două cuvinte nu se face în timp constant. Se face în O(lungimeCuvânt)