我在遇到以下問題時遇到問題。我基本上必須編寫一個代碼/函數,如果str1的一部分可以重新編譯爲str2,則返回true。如何寫一個函數返回true,如果str1的一部分可以重新安排到str2?
編寫函數scramble(str1,str2),如果str1字符的一部分可以重新排列以匹配str2,則返回true,否則返回false。
例如: str1是'rkqodlw',而str2是'world',輸出應該返回true。 str1是'cedewaraaossoqqyt',而str2是'codewars'應該返回true。 str1是'katas',str2是'牛排'應該返回false。
只能使用小寫字母(a-z)。沒有標點或數字將被包括在內。 需要考慮性能。
下面是當前代碼我有:
function scramble(str1, str2) {
var first; //longer string
var second; //shorter string
if(str1 || str2 === "undefined") {
return false;
}
if(str1.length > str2.length) {
first = str1;
second = str2
} else if(str2.length > str1.length) {
first = str2;
second = str1;
}
for (i=0; i<second.length; i++) {
if (first.indexOf(second[i]) === -1) {
return false;
}
}
return true;
}
能否請你幫我這個問題?
我很困惑,是不是隻是彷彿'str2'所有的人物都在'str1'檢查一樣簡單,如果是這樣,則返回true? – adeneo
此外,'if(str1 || str2 ===「undefined」){'沒有做你可能認爲它做的事 –