Valid Anagram

题目

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.

思路

思路一:可以将String排序,然后判断是否相等,如果相等就说明是异构的。
思路二:其实还有一种思路,就是统计,统计每一个不同字母的次数,但是这个太麻烦了。

有意思的点

通过这题目可以明白,java中是没有将String这个类型排序的内置函数的,在so上搜了一下,这个方式是最简单的了。先转化为char[]的数组,然后使用Array.sort(),进行排序,最后在转化为String类型。

代码:

public class Solution {
    public boolean isAnagram(String s, String t) {
        char[] chars = s.toCharArray();
        Arrays.sort(chars);
        s = new String(chars);
        
        char[] chars2 = t.toCharArray();
        Arrays.sort(chars2);
        t = new String(chars2);
        
        return s.equals(t);
    }
}

下面是Java 如何反转String的方法

String hi = "hello,world";
hi = new StringBuilder(hi).reverse().toString()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容