同字母異序指的是兩個字串字母種類和字母的數量相同,但是順序可能不同。
完成isanagram
,接受兩個字串作為引數,返回true
或者false
表示這兩個字串是否同字母異序。例如:
isanagram("anagram", "nagaram") // => return true.
isanagram("rat", "car") // => return false.
我實現的方案還是比較簡單的,排序一下在比較就行了
const isanagram = (str1, str2) => [...str1].sort().join('') === [...str2].sort().join('')
還可以:
const isanagram = (str1, str2) => str1.length === str2.length && ![...str1].find(v => !str2.includes(v)) && ![...str2].find(v => !str1.includes(v));
還可以使用for
迴圈:
const isanagram = (str1, str2) =>
let str2copy = str2;
for (let i = 0; i < str1.length; i++) else
} return str2copy.length === 0
};
在leetcode上又遇到了這道題,看了大神的**,自愧不如。
想要執行用時短,要避免型別轉換,所以直接使用了replace
方法,這樣就可以實現同樣字母的替換
var isanagram = function (s, t)
return s === t
};
執行用時116ms,而原先的方法最少都在150ms以上
因為題目中註明了,可以假設字串只包含小寫字母,那收到另外乙個題目的其他,也可以對乙個常量字串進行遍歷:
var isanagram = function (s, t)
const alpha = 'abcdefghijklmnopqrstuvwxyz';
let reg;
for (let i = 0; i < alpha.length; i++) else
if(s.length !== t.length)
}} return s === t;
};
執行用時104ms。 前端基礎筆記09
一 透明度 1 如果定位的盒子沒有寬高,那麼預設寬高為0 2 如果給子盒子設定寬為100 那麼子盒子的寬與父盒子一樣寬 3 透明度 opacity 不透明度 賦值 opacity 0.5 取值 在0 1之間的小數 這個屬性ie6不支援,如果在ie6中設定透明,要用 filter alpha opac...
前端筆記day09
1 完 員列表的刪除功能 姓名姓別 刪除 2 vue的v for語法可以遍歷那些值,分別寫出遍歷不同值的 1 迭代數字 這是第 個p標籤 2 迭代data中的普通物件 3 迭代data中的陣列 3 文字敘述v model和v bind的差別 1 v bind動態繫結指令,預設情況下標籤自帶屬性的值是...
09 需要加強練習
有三個節點,node1是專用的master node2,node3是data ingest節點 ip node1 192.168.1.123,192.168.1.124,192.168.1.125 對單節點進行security操作,elastic的初始化密碼為elastic password 其餘賬...