Да. Сложность O (n ^ 2), поскольку сложность isCharPalindrome
равна O (n), и вы называете ее n раз из longestPrefixPalindrome
.
Но вы можете уменьшить сложность, начав с самого длинного префикса, а затем уменьшив размер тестируемого префикса. Если вы сделаете это, вы можете выйти из метода, как только обнаружите палиндром. Вам не нужно идти до конца каждый раз.
Я уверен, что вы знаете, как внести изменения в longestPrefixPalindrome
соответственно.
Посмотрите на ответ @pajton. Если вы думаете об этом, вы можете уменьшить сложность до O (n). Ответ, который я дал, на самом деле подскажет, что можно сделать.