美文网首页
FCC题目 Check for Palindromes

FCC题目 Check for Palindromes

作者: a1838b5b5d28 | 来源:发表于2017-04-04 16:16 被阅读32次

要求

如果给定的字符串是回文,返回true,反之,返回false。

如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样,那么这个字符串就是palindrome(回文)。

注意你需要去掉字符串多余的标点符号和空格,然后把字符串转化成小写来验证此字符串是否为回文。

函数参数的值可以为"racecar","RaceCar"和"race CAR"。

当你完成不了挑战的时候,记得开大招'Read-Search-Ask'。

这是一些对你有帮助的资源:

String.replace()
String.toLowerCase()


起初看到这么一个要求 小case吗!!分分钟搞定啊!于是如下代码出现了

function palindrome(str){
        var arr=str.split('');//分割字符串为数组
        var newarr=arr.reverse();//将数组反转
        //比较数组
        for(var i=0;i<arr.length;i++){
            if(arr[i]!==newarr[i]){
                return false;
            }
        }
        return true;
    }

理所当然 代码GG 于是google之,发现 reverse() 这个方法是在执行后会改变原数组而不是返回一个新数组
于是修改代码如下

function palindrome(str){
        var arr=str.split('');//分割字符串为数组
        var newarr=str.split('');//赋给另一个数组用来保存
        arr.reverse();//将数组反转
        //比较数组
        for(var i=0;i<arr.length;i++){
            if(arr2[i]!==newarr[i]){
                return false;
            }
        }
        return true;
    }

然后 又GG
我又去检查发现题目给的样例里面还有大小写,特殊字符!!!
这才想到了题目给的提示
repalce() 利用正则替换字符串
totoLowerCase() 将字符串转换成小写
再次修改代码

function palindrome(str) {
  // Good luck!
      var str1=str.replace(/\W+/g,"");
          str1=str1.replace(/\_+/g,"");
          str1=str1.toLowerCase();
      var arr=str1.split('');//定义将字符串打散后的数组
      var newarr=str1.split('');//将该数组再次保存 后面会调用reverse方法将其改变, arr会发生变化 ,所以将数组另存一份为newarr
      arr.reverse();//反转数组
      //比较数组
          for(var i=0;i<arr.length;i++){
            if(arr[i]!==newarr[i]){
              return false;         
            } 
          }
            return true;
          
    }
    
    palindrome("not a palindrome");

Ctrl+Enter 完美!

相关文章

  • FCC题目 Check for Palindromes

    要求 如果给定的字符串是回文,返回true,反之,返回false。 如果一个字符串忽略标点符号、大小写和空格,正着...

  • FCC-JS-BAS-Check for Palindromes

    检查回文字符串 如果给定的字符串是回文,返回true,反之,返回false。 如果一个字符串忽略标点符号、大小写和...

  • Check for Palindromes

    检查回文字符串如果给定的字符串是回文,返回true,反之,返回false。如果一个字符串忽略标点符号、大小写和空格...

  • Check for Palindromes

    检查回文(Check for Palindromes) 如果一个字符串忽略标点符号、大小写和空格,正着读和反着读一...

  • Check for Palindromes

    如果给定的字符串是回文,返回true,反之,返回false。 如果一个字符串忽略标点符号、大小写和空格,正着读和反...

  • Check for Palindromes -- Freecod

    如果给定的字符串是回文,返回true,反之,返回false。如果一个字符串忽略标点符号、大小写和空格,正着读和反着...

  • JS-Check for Palindromes

    Q: 检查回文字符串 如果给定的字符串是回文,返回true,反之,返回false。 如果一个字符串忽略标点符号、大...

  • Design & Coed 1: 检查回文字符串

    案例:检查回文字符串 Check for Palindromes 如果给定的字符串是回文,返回true,反之,返回...

  • freecodecamp算法思路记录

    Check for Palindromes 检查回文字符串如果给定的字符串是回文,返回true,反之,返回fals...

  • Ruby练习四

    Q1: Palindromes Adapt your solution from the “palindromes...

网友评论

      本文标题: FCC题目 Check for Palindromes

      本文链接:https://www.haomeiwen.com/subject/wkfzottx.html