DDSA Solutions

Palindrome Sentence

Time: O(n)
Space: O(n)
Advertisement

Intuition

Check if a sentence is a palindrome ignoring non-alphanumeric characters and case.

Algorithm

  1. 1Two pointers l=0, r=len-1. Skip non-alphanumeric. Compare lowercased. If mismatch: false.

Common Pitfalls

  • Same as LC 125. Filter and compare. toLowerCase for case-insensitive check.
Palindrome Sentence.java
Java
// Approach: Clean the string (lowercase, remove non-alpha), then check if it equals its reverse.
// Time: O(n) Space: O(n)
class Solution {
    public boolean isPalinSent(String s) {
        StringBuilder builder = new StringBuilder();
        for (char i : s.toCharArray()) {
            if (i >= '0' && i <= '9')
                builder.append(i);
            else if ((i >= 'A' && i <= 'Z') || (i >= 'a' && i <= 'z'))
                builder.append(("" + i).toLowerCase());
        }
        
        return builder.toString().equals(builder.reverse().toString());
    }
}
Advertisement
Was this solution helpful?