以下是对“javascript基础练习之翻转字符串与回文”的完整攻略:
1. 翻转字符串
1.1 题目描述
输入一个字符串,将其翻转后输出。
1.2 解题思路
字符串的翻转可以有多种方式,以下介绍两种。
1.2.1 利用split()和reverse()方法
- 首先使用split()方法将字符串以空格为分割符转换为数组;
- 然后使用reverse()方法将数组中的元素进行翻转;
- 最后使用join()方法将数组转换回字符串。
function reverseString(str) {
return str.split("").reverse().join("");
}
1.2.2 利用for循环遍历
- 先定义一个空字符串变量;
- 在通过for循环从字符串末尾向前遍历每个字符,每次都将它添加到新的字符串中;
- 最后返回新的字符串。
function reverseString(str) {
var newStr = "";
for(var i=str.length-1;i>=0;i--){
newStr += str[i];
}
return newStr;
}
1.3 代码示例
console.log(reverseString("Hello World!")); // 输出: "!dlroW olleH"
console.log(reverseString("abcdefg")); // 输出: "gfedcba"
2. 回文判断
2.1 题目描述
判断一个字符串是不是回文,如果是则返回true,否则返回false。回文是指正反读都一样的单词或短语。
2.2 解题思路
回文判断的主要思路是从字符串的两端开始逐一比较字符是否相同,若都相同则是回文,否则不是回文。
2.2.1 利用reverse()方法
- 先将字符串转为数组,再使用reverse()方法将数组翻转;
- 然后使用join()方法将数组转换为字符串,再与原来的字符串进行比较,若相同则是回文。
function isPalindrome(str) {
return str === str.split("").reverse().join("");
}
2.2.2 利用for循环遍历
- 使用for循环从字符串的两端开始逐一比较每个字符是否相同,若都相同则是回文;
- 如果在比较过程中发现有不同的字符,则不是回文。
function isPalindrome(str){
for(var i=0,j=str.length-1;i<=j;i++,j--){
if(str.charAt(i) !== str.charAt(j)){
return false;
}
}
return true;
}
2.3 代码示例
console.log(isPalindrome("level")); // 输出:true
console.log(isPalindrome("hello")); // 输出:false
console.log(isPalindrome("racecar")); // 输出:true
以上是“javascript基础练习之翻转字符串与回文”的完整攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript基础练习之翻转字符串与回文 - Python技术站