两个字符串是变位词

描述

写出一个函数 anagram(s, t) 判断两个字符串是否可以通过改变字母的顺序变成一样的字符串。

样例

给出 s = "abcd",t="dcab",返回 true.
给出 s = "ab", t = "ab", 返回 true.
给出 s = "ab", t = “ac", 返回 false.

解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class Solution {
/**
* @param s: The first string
* @param b: The second string
* @return true or false
*/
public boolean anagram(String s, String t) {
//转为字符数组以便使用Arrays.sort方法
char[] arr1 = s.toCharArray();
char[] arr2 = t.toCharArray();
//对转换后的字符数组进行按a-z的顺序进行排序
Arrays.sort(arr1);
Arrays.sort(arr2);
//排序完成后,再转回字符串,然后用equals方法进行比较是否为变位词
if(String.copyValueOf(arr1).equals(String.copyValueOf(arr2)))
return true;
else
return false;
}
};

本题目来自LintCode : 两个字符串是变位词