Top 150 Interview簡単

Valid Palindrome

Detailed guide and Python implementation for the 'Valid Palindrome' problem.

問題提起

簡単

A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers.

Given a string s, return True if it is a palindrome, or False otherwise.

Write a function isPalindrome(s: str) -> bool.

制約
  • 1 <= len(s) <= 2 * 10^5
  • s consists only of printable ASCII characters

Example 1
Input
s = "A man, a plan, a canal: Panama"
Output
True
Explanation

After removing non-alphanumeric characters and converting to lowercase: "amanaplanacanalpanama", which is a palindrome.

Example 2
Input
s = "race a car"
Output
False
Explanation

After processing: "raceacar" is not a palindrome.

Example 3
Input
s = " "
Output
True
Explanation

After removing non-alphanumeric characters, s is an empty string. An empty string is a palindrome by definition.

Need a Hint?
Consider using Two Pointers-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

解決する準備はできましたか?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

エディタで開く
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

推奨される Python リソース

関連するインタラクティブなチュートリアル、チートシート、コード比較で知識を深めてください。