JavaScript基础算法——比较字符串

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/funkstill/article/details/87926321

要求:

如果数组第一个字符串元素包含了第二个字符串元素的所有字符,函数返回true。

举例,["hello", "Hello"]应该返回true,因为在忽略大小写的情况下,第二个字符串的所有字符都可以在第一个字符串找到。

["hello", "hey"]应该返回false,因为字符串"hello"并不包含字符"y"。

["Alien", "line"]应该返回true,因为"line"中所有字符都可以在"Alien"找到。

样本:

mutation(["hello", "hey"]) 应该返回 false.

mutation(["hello", "Hello"]) 应该返回 true.

mutation(["zyxwvutsrqponmlkjihgfedcba", "qrstu"]) 应该返回 true.

mutation(["Mary", "Army"]) 应该返回 true.

mutation(["Mary", "Aarmy"]) 应该返回 true.

mutation(["Alien", "line"]) 应该返回 true.

mutation(["floor", "for"]) 应该返回 true.

mutation(["hello", "neo"]) 应该返回 false.

解法:

解法一:


function mutation(arr) {
  arr[0]=arr[0].toLowerCase();
  arr[1]=arr[1].toLowerCase();
  var i=0,j=0;
  while(j<arr[1].length){
    if(arr[0][i]==arr[1][j]){
      i=0;j++;
    }else{
      if(i<arr[0].length){
        i++;
      }else{
        return false;
      }
    }
  }
  if(j==arr[1].length){
    return true;
  }
}

mutation(["hello", "hey"]);

猜你喜欢

转载自blog.csdn.net/funkstill/article/details/87926321