今天心情好,多刷一题,大家不要嫌弃我
Question:
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.
Solution:
感觉有两个关键点,一个是把String转成char[], 用的语句是 String.toCharArray(),得到charofs
另外一个就是学会对char进行排序,用的语句Arrays.sort(charofs)
然后将排序好的char[]转成String
代码如下:
- public class Solution {
- public boolean isAnagram(String s, String t) {
- char[] sArr = s.toCharArray();
- char[] tArr = t.toCharArray();
- // 排序
- Arrays.sort(sArr);
- Arrays.sort(tArr);
- // 将char[]转成String
- String safter = new String(sArr);
- String tafter = new Strng (tArr);
- //这里也可以直接用强转语句,如下。选择其中一种即可
- // String safter = String.valueOf(sArr)
- //判断新得到的两个String相等,但是原先的String并不相同。从而保证同字母不同排序
- if((!s.equals(t))&&(safter.equals(tafter))){
- return true;
- }else{
- return false;
- }
- }
- }
- 好了,我睡了嘻嘻,大家晚安!