diff --git a/DIRECTORY.md b/DIRECTORY.md index 315810f062..3793104e27 100644 --- a/DIRECTORY.md +++ b/DIRECTORY.md @@ -299,6 +299,7 @@ * [FormatPhoneNumber](String/FormatPhoneNumber.js) * [GenerateGUID](String/GenerateGUID.js) * [HammingDistance](String/HammingDistance.js) + * [IsPalindrome](String/IsPalindrome.js) * [KMPPatternSearching](String/KMPPatternSearching.js) * [LevenshteinDistance](String/LevenshteinDistance.js) * [Lower](String/Lower.js) diff --git a/String/IsPalindrome.js b/String/IsPalindrome.js index 27dca7151f..60c1c313a4 100644 --- a/String/IsPalindrome.js +++ b/String/IsPalindrome.js @@ -10,7 +10,8 @@ * Big-O Analysis * Time Complexity - O(N) on average and worst case scenario as input is traversed in linear fashion - - O(N) on best case scenario, even when input has length of 1, because toString() method takes O(N) + - O(1) on best case scenario if the input already is a string (otherwise toString() method takes O(N)) + and the first & last characters don't match, triggering an early return * Space Complexity - O(1) */