242. (查找问题)Valid Anagram验证两个字符串是相同字符构成的

验证s里面的字符是否被随机打乱构成了t。

242. (查找问题)Valid Anagram验证两个字符串是相同字符构成的_第1张图片
  • java
    1)利用hashmap来实现,使用循环实现会超时。
    key:是字符,value是字符的个数,遍历s中的字符,在t中找到一个字符,该字符对应的个数减一,直到个数为零,将该字符删除。
class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length()!=t.length())
            return false;
        Map map=new HashMap();
        //用hashmap存储t字符串中的字符,及它出现的次数
        for(int i=0;i

2)利用排序来实现,将字符串转换成字符数组。

class Solution {
    public boolean isAnagram(String s, String t) {
        if(s.length()!=t.length())
            return false;
        char[] sarray=s.toCharArray();
        char[] tarray=t.toCharArray();
        Arrays.sort(sarray);
        Arrays.sort(tarray);
        return Arrays.equals(sarray,tarray);
    }
}
  • javascript
    1)利用排序实现
/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
    if(s.length!==t.length)
        return false;
    let sarray=new Array();
    let tarray=new Array();
    for(let i=0;i

2)利用map实现

/**
 * @param {string} s
 * @param {string} t
 * @return {boolean}
 */
var isAnagram = function(s, t) {
    if(s.length!==t.length)
        return false;
    let map=new Map();
    //将t中的字符和个数放到map中
    for(let i=0;i

你可能感兴趣的:(242. (查找问题)Valid Anagram验证两个字符串是相同字符构成的)