← Two Pointers

Palindrome Two Pointers

Easy
Python
def is_palindrome(s):
    l,r=0,len(s)-1
    while l<r:
        if s[l]!=s[r]: return False
        l+=1; r-=1
    return True
Java
public boolean isPalindrome(String s){
    int l=0,r=s.length()-1;
    while(l<r){
        if(s.charAt(l)!=s.charAt(r)) return false;
        l++; r--;
    } return true;
}

Key Insight

Direct indexing vs charAt(). True/False vs true/false.

Python → Java Differences

  • s[l] vs s.charAt(l)
  • True/False vs true/false
  • Two-pointer identical
Python
def is_palindrome(s):
    l,r=0,len(s)-1
    while l<r:
        if s[l]!=s[r]: return False
        l+=1; r-=1
    return True
Java
public boolean isPalindrome(String s){
    int l=0,r=s.length()-1;
    while(l<r){
        if(s.charAt(l)!=s.charAt(r)) return false;
        l++; r--;
    } return true;
}

Algorithm Steps

1. Compare from both ends
2. Move inward