xxxxxxxxxx
// The Setup
function palindrome(str) {
// Using Regex to remove all the special character, converted all the string to lowercase to ease working with and assign it to a new variable
let newStr = str.replace(/[^a-zA-Z0-9]/g, '').toLowerCase();
// Split the string, reverse, join then assign it to a new variable
let revStr = newStr.split('').reverse().join('');
// return their value
return newStr === revStr;
}
palindrome("A man, a plan, a canal. Panama");
xxxxxxxxxx
/*
C++ Palindrome Checker program by lolman_ks.
Checks palindromic string WITHOUT reversing it.
Same logic can be used to build this program in other languages.
*/
/*
Logic: In a palindromic string, the 1st and last, 2nd and 2nd last, and so
on characters are equal.
Return false from the function if any of these matches, i.e (1st and last),
(2nd and 2nd last) are not equal.
*/
#include <iostream>
using namespace std;
bool checkPalindromicString(string text){
int counter_1 = 0; //Place one counter at the start.
int counter_2 = text.length() - 1; //And the other at the end.
//Run a loop till counter_2 is not less that counter_1.
while(counter_2 >= counter_1){
if(text[counter_1] != text[counter_2]) return false; //Check for match.
//Note: Execution of a function is halted as soon as a value is returned.
else{
++counter_1; //Move the first counter one place ahead.
--counter_2; //Move the second character one place back.
}
}
return true;
/*
Return true if the loop is not broken because of unequal characters and it
runs till the end.
If the loop runs till the condition specified in it, i.e
(counter_2 >= counter1), that means all matches are equal and the string is
palindromic.
*/
}
//Implementation of the function.
int main(){
cout << checkPalindromicString("racecar") << endl; //Outputs 1 (true).
cout << checkPalindromicString("text") << endl; //Outputs 0 (False).
if(checkPalindromicString("lol")){
cout << "#lolman_ks";
}
//Outputs #lolman_ks.
return 0;
}
//I hope this would be useful to you all, please promote this answer if it is.
//#lolman_ks
xxxxxxxxxx
function palindrome(str) {
var re = /[\W_]/g;// representing Non-alphanumetic characters
var lowRegStr = str.toLowerCase().replace(re, '');
var reverseStr = lowRegStr.split('').reverse().join('');
return reverseStr === lowRegStr;
}
palindrome("A man, a plan, a canal. Panama");
xxxxxxxxxx
bool isPalindrom(string str){
for (int i = 0; i < str.length(); i++)
if(str[i]!=str[str.length()-i]) return false;
return true;
}
xxxxxxxxxx
const palindrome = str = {
str = str.replace(/[\W+|_]/g, '').toLowerCase()
const str1 = str.split('').reverse().join('')
return str1 === str
}
palindrome("My age is 0, 0 si ega ym.");
// With love @kouqhar
xxxxxxxxxx
var isPalindrome = function(x) {
let y = x
let r = y.toString().split('').reverse().join('')
let t = Number(r)
if(t ===x){
return true
}
else{
return false}
}
xxxxxxxxxx
function palindromeNumber(num) {
let numStr = num.toString();
return numStr === numStr.toString().split("").reverse().join("");
}
xxxxxxxxxx
function isPalindrome(str) {
str = str.toLowerCase();
return str === str.split("").reverse().join("");
}