js算法---乱序同字母字符串和回文字符串

乱序同字母字符串

要求:
给定两个字符串,判断是否颠倒字母而成的字符串,譬如Mary与Army就是同字母而顺序颠倒

思路:
给定两个字符串,首先将这两个字符串都转换为小写或者大写,然后都采用sort()进行排序,如果二者最后一样,那么就证明二者是乱序通字母字符串

/* 
乱序同字母字符串
 给定两个字符串,判断是否颠倒字母而成的字符串,譬如Mary与Army就是同字母而顺序颠倒:
 思路:给定两个字符串,首先将这两个字符串都转换为小写或者大写,然后都采用sort()进行排序
 如果二者最后一样,那么就证明二者是乱序通字母字符串
 */
const str1 = "Happy";
const str2 = "Appyh";

console.log(isAnagram(str1,str2));

function isAnagram(firstArr, secondArr) {
    
    
	let a = firstArr.toLowerCase();
	let b = secondArr.toLowerCase();	
	a = a.split("").sort().join("");
	b = b.split("").sort().join("");
	return a===b;
}

在这里插入图片描述

回文字符串


要求:
判断某个字符串是否为回文字符串,譬如racecar与race car都是回文字符串

思路:
利用原串与翻转后的串进行比较,如果二者一样,则证明就是回文字符串

console.log(isPalindrome("racecar")); // true
console.log(isPalindrome("race Car")); // true

function isPalindrome(word) {
    
    
	// \s代表正则表达式中的一个空白字符(可能是空格、制表符、其他空白)
	//将空格字符去掉
  var lettersOnly = word.toLowerCase().replace(/\s/g, "");
	console.log(lettersOnly);
  return lettersOnly === lettersOnly.split("").reverse().join("");
}

在这里插入图片描述
参考自https://mp.weixin.qq.com/s/cS7yiYr0tqKjToK-msyLOQ

Guess you like

Origin blog.csdn.net/qq_41880073/article/details/116302412