要求:
如果数组第一个字符串元素包含了第二个字符串元素的所有字符,函数返回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"]);

本文深入探讨了一种用于检查一个字符串是否包含另一个字符串所有字符的算法。通过实例演示了如何实现这一功能,包括忽略大小写的情况,并提供了多个测试案例来验证算法的正确性。
1140

被折叠的 条评论
为什么被折叠?



