DSA/docs/en/Strings/Palindrome.md

38 lines
1.3 KiB
Markdown

# Palindrome
A palindrome is a word, phrase, number or sequence of words that reads the same backward as forward. Punctuation and spaces between the words or lettering is allowed.
## Steps
1. Clean the string by removing all punctuation and whitespace and converting all letters to lowercase.
2. Reverse the clean string.
3. If the clean string is the same as the reversed string then we have a palindrome.
## Example
### Single Word Palindromes
- Civic
- Level
- Madam
- Radar
### Multiple Word Palindromes
- Don't nod.
- I did, did I?
- My gym
- A man, a plan, a canal - Panama
## Implementation
- [C](../../../algorithms/C/strings/palindrome.c)
- [C++](../../../algorithms/CPlusPlus/Maths/palindrome.cpp)
- [C#](../../../algorithms/CSharp/src/Strings/palindrome.cs)
- [Haskell](../../../algorithms/Haskell/strings/palindrome.hs)
- [Java](../../../algorithms/Java/strings/palindrome.java)
- [JavaScript](../../../algorithms/JavaScript/src/strings/palindrome.js)
- [Python](../../../algorithms/Python/strings/palindrome.py)
- [Rust](../../../algorithms/Rust/strings/palindrome/src/main.rs)
## Video URL
[A coursera video explaining the palindrome Algorithm](https://www.coursera.org/lecture/program-code/palindrome-algorithm-1-zzQqs)
## Others
[Wikipedia](https://en.wikipedia.org/wiki/Palindrome)