38 lines
1.3 KiB
Markdown
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)
|