LeetCode--Valid Anagram--JavaScript

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:分隔符,连接之后以什么为分隔符分隔开,如果不想要分隔符则参数可设为"";

posted @ 2015-10-30 21:12  Decmber  阅读(168)  评论(0编辑  收藏  举报