Given two strings s and t, write a function to determine if t is an anagram of s.
For example,
s = "anagram", t = "nagaram", return true.
s = "rat", t = "car", return false.
Note:
You may assume the string contains only lowercase alphabets.
Follow up:
What if the inputs contain unicode characters? How would you adapt your solution to such case?
Subscribe to see which companies asked this question
/** * @param {string} s * @param {string} t * @return {boolean} */ var isAnagram = function(s, t) { if(s.length !== t.length){ return false; } var s1 = s.split(""); var t1 = t.split(""); s1.sort(); t1.sort(); var ss = s1.join(""); var tt = t1.join(""); if(ss !== tt){ return false; } return true; };
知识点:
split():把一个字符串分割成字符串数组----stringObject.split(separator,howmany)---
separator 必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。即分隔符,连接之后以什么为分隔符分隔开,如果不想要分隔符则参数可设为"";
howmany 可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。
sort():用于对数组的元素进行排序==arrayObject.sort(sortby)===如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序===sortby 可选--规定排序顺序。必须是函数。
splice():splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目---arrayObject.splice(index,howmany,item1,.....,itemX)----删除位于index处开始的的howmany个元素并在此处添加item1至itemX元素;slice(start,end)slice() --从已有的数组中返回选定的元素。--返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。---一个参数的时候就返回从第一个元素开始删除参数个元素后的object元素。
index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, ..., itemX 可选。向数组添加的新项目。
http://www.w3school.com.cn/jsref/jsref_splice.asp
join():----arrayObject.join(separator)----参数separator:分隔符,连接之后以什么为分隔符分隔开,如果不想要分隔符则参数可设为"";