首页 > 学院 > 开发设计 > 正文

[LeetCode] Valid Anagram

2019-11-15 01:09:27
字体:
来源:转载
供稿:网友
[LeetCode] Valid Anagram

Given two stringssandt, write a function to determine iftis an anagram ofs.

For example,s= "anagram",t= "nagaram", return true.s= "rat",t= "car", return false.

Note:You may assume the string contains only lowercase alphabets.

这道题首先还是要先明确Anagram的定义,除了字母的排序顺序可以不一样外,其他都得一样。

因为如果两个String互为anagram,他们的length是相同的。

所以我们可以直接新建一个length为26的int[]。(题目说了只考虑小写字母,所以26就可以了)。

然后对于s,识别到新的字母的值就+进这个int[],而对于t,识别到新的字母的值就从int[]中移除。

如果这两个互为anagram的话,那么这个计算完成后,这个int[]的值肯定是为0的。

代码如下。~

public class Solution {    public boolean isAnagram(String s, String t) {        if(s.length()!=t.length()){            return false;        }        int[] test = new int[26];        for (int i = 0; i < s.length(); i++){            test[s.charAt(i) - 'a']++;        }         for (int i = 0; i < t.length(); i++){             test[t.charAt(i) - 'a']--;        }        for(int i=0;i<test.length;i++){            if(test[i]!=0){                return false;            }        }        return true;    }}


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表